介绍了如何针对STM32串口通信在接收数据时出现丢包的问题进行优化。最初采用DMA单字节接收,后来通过启用空闲中断和半满中断,实现更稳定的不定长数据帧接收。最终方案结合了DMA、空闲中断和半满中断,确保了在突发数据量大的情况 下也能有效避免丢包。
用于单片机中的小巧多功能按键支持,软件采用了分层的思想,并且做到了与平台无关,用户只需要提供按键的基本信息和读写io电平的函数即可,非常方便移植,同时支持多个矩阵键盘及多个单io控制键盘,目前已实现按下触发、弹起触发、长按自动触发、长按弹起触发、多击触发、连续触发等功能,并且能够随意组合(支持状态的同一时间轴和非同一时间轴)