近期在调试UART,为了节省CPU的时间,使用了DMA发送数据,按照手册上的配置过程总是无法触发DMA发送,直接往TDR里写数据是可以发送的。初始化代码是通过CubeMX生成的。
最后对比之前的代码,发现CubeMX生成的代码将DMA的初始化放在了UART初始化的后面,尝试将DMA 初始化放到UART初始化的前面,问题解决。
用了一天时间才发现这个问题,分析一下原因,DMA功能是后面添加的,CubeMX就将代码放到了后面,而初始化DMA需要放在前面。
STM32G4 UART DMA使用用到的问题
最新推荐文章于 2024-07-10 15:41:52 发布