
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
DS1302时钟芯片的数据读写、寄存器定义、引脚定义、时序图

摘要:本文介绍了日志系统的基本组成(日志索引、断电日志存储区和主日志存储区)以及SEGGER RTT的移植与使用方法。详细说明了RTT库的下载步骤、文件提取和移植过程,包括初始化、测试用例和封装优化方法。同时提供了RTT虚拟终端的高级用法,如实现分流、改变输出颜色、重定向以及通过修改SEGGER_RTT_vprintf函数实现浮点数输出的解决方案。最后展示了封装后的日志输出效果和配置缓冲区大小的注
本文介绍了在FreeRTOS下使用STM32串口结合DMA实现环形缓冲区接收不定长数据的方法。系统采用分层设计:硬件中断层负责数据接收并存入环形缓冲区,BSP层驱动程序处理缓冲区管理并通知APP层,APP层进行数据解包处理。通过串口空闲中断、DMA半满和全满中断动态调整缓冲区head指针位置,实现高效数据接收。相比动态内存分配方案,环形缓冲区能避免内存碎片问题,保证系统实时性。文章还解答了环形缓冲
本文介绍了STM32 HAL库中UART空闲中断与DMA结合的接收机制及环形缓冲区实现。主要内容包括:1) HAL_UARTEx_ReceiveToIdle_DMA函数的工作原理,详细分析了DMA半满中断、全满中断和串口空闲中断的触发条件与回调机制;2) 环形缓冲区的设计与实现,包括创建、判空判满、数据存取等操作;3) 通过串口空闲中断+DMA中断+环形缓冲区实现不定长数据接收的方案,阐述了中断处
摘要:本文详细介绍了基于单片机的OTA(无线)升级技术,包括概念意义、工作原理和完整流程。系统采用双区域存储设计(A/B区),通过APP和Bootloader两阶段协作实现安全升级:APP阶段完成固件下载、校验和标志设置;Bootloader阶段执行固件解密、备份当前程序、写入新固件等关键操作。文章还分析了该技术在智能家居、工业设备等场景的应用价值,指出其灵活性高、可扩展性强等优势,同时也提醒注意

本文系统介绍了加密算法的基本概念与分类,重点解析了AES对称加密算法。内容涵盖:1.加密算法定义与分类(对称/非对称);2.对称加密典型算法DES和AES的工作原理及优劣势;3.AES的具体实现,包括128/192/256位密钥的差异、加密轮次、分组处理流程(密钥扩展、初始轮、主轮操作等);4.非对称加密原理及与对称加密的对比;5.混合加密方案的应用场景。文章通过数学示例(RSA算法)和信箱类比,
Bootloader是单片机系统中用于简化固件更新、分离应用逻辑和增强安全性的关键组件。本文介绍了开发一个最简单的Bootloader的步骤:1)配置Flash布局,划分Bootloader区和应用区;2)在Bootloader工程中实现跳转函数,包括验证应用有效性、设置栈指针和跳转地址;3)在应用工程中正确配置中断向量表偏移。核心原理是通过Bootloader初始化后跳转到应用复位向量,同时需注

本系统采用STM32CubeMX配置ADC+DMA实现数据采集,通过FreeRTOS实现双缓冲机制。系统初始化时创建两个缓冲区(buffer1/buffer2)、两个队列(queue1/queue2)和互斥锁。主流程包括:1)ADC完成转换后触发中断发送queue1通知线程A;2)线程A切换DMA目标缓冲区并发送queue2通知线程B;3)线程B处理就绪缓冲区数据。关键设计特点包括:双缓冲交替采集

本文系统解析了STM32启动流程,从硬件复位到用户程序执行的完整过程。主要内容包括:1. 启动阶段划分:BootROM硬件初始化→BootLoader执行→应用程序启动;2. 启动文件(.s)的核心作用:建立中断向量表、初始化栈/堆/全局变量、跳转至main函数;3. 中断向量表机制:物理存储位置可偏移但内容固定,复位向量指向Reset_Handler;4. BootLoader设计要点:独立工程
本文解析了STM32启动流程中的BootROM与BootLoader机制。BootROM是芯片出厂固化的只读代码,负责基础硬件初始化和启动模式选择;BootLoader则是可编程的软件层,提供高级初始化和固件更新功能。文章对比了两者的区别,指出BootROM位于芯片内核不可修改,而BootLoader存储在可擦写存储器中可高度定制。同时解释了为什么BootROM在地址映射中不可见的原因,并提供了相







