STM32L051双串口DMA方式不定长收发
HAL库的DMA+CobeMx方式下的不定长收发
针对串口高频率的收发时有可能会顶挂串口,特别是在HAL库时,会出现串口死锁。如果采用DMA来处理就可以减小频繁的中断,减轻CPU的负荷。
CubeMx生成
ST的CubeMx在大部分场合下还是很好用的,基本可以接近0代码实现功能。这也是现在互联网所追求的轻代码方式,废话不多说直接上图搬砖:
- 打开CubeMx新建工程;
- 其他的设置这里不详说明,可以自己百度。这里主要讲一下串口的配置(串口1,串口2配置相同)
关键代码
- 串口接收空闲中断回调
/**********************************