STM32串口dma发送数据部分字节出错

1.通过STM32cubemx配置时钟,串口参数
2.配置串口DMA,normal模式,byte
3.打开串口中断(如果不开启串口中断,则程序只能发送一次数据,程序不能判断DMA传输是否完成,USART一直处于busy状态)
4.定义局部数组,HAL_UART_Transmit_DMA发送,发现后面几个字节数据错误,把局部数组改为全局数组就没问题。
5.HAL_UART_Transmit发送局部或者全局数组都没有问题
6.猜测可能是DMA无法访问栈上面的数据(未验证,只是记录一下)
7.用std库,采用DMA给485发送数据,接收数据不完整(问题,加点延时就行)

发布了24 篇原创文章 · 获赞 1 · 访问量 1762

猜你喜欢

转载自blog.csdn.net/qq_27182175/article/details/103872753