|
我在调用HAL_UART_Transmit_DMA函数连续发送时发现发不出去(while(1)可以持续发送但可能丢了不少包),返回值为HAL_BUSY,条件即huart->gState == HAL_UART_STATE_READY不成立。在网上找解决方法都不能解决这个问题,比如在/* Set the UART DMA transfer complete callback */和/* Set the UART DMA Half transfer complete callback */中给 huart->gState赋值也不行。请问有什么好的解决方法?感觉也不像是数据还没发送完。 |
STM32C543RC开发板通过UART2实现唤醒操作
调试完成了官方warkup_from_stop例程中的串口通讯
操作系统无法识别USB to TTL转换器该如何解决?
STM32C542RC开发板启用PWM后对串口通讯造成影响
完成了STM32C542RC开发板的串口通讯实验的视频
STM32C542RC开发板的串口DMA发送实验出错(已解决)
STM32L562DK探索板——串口通讯重定向出错
STM32与JTAG电平不匹配
谁知道STM32用STLINK下载的时候,不连接3V3不能下载
异步传输中的奇偶帧位
微信公众号
手机版
DMA相当于一种外设,UART在它的后面是一种更加慢的外设。
我理解,DMA可以解放MCU,但是不会自动帮你排队发送。
哦哦,谢谢,是不是可以理解为还是发送的太频繁了。我是在试验阶段,不是真正需求。我是比较极端的没有加延时。确实是这样,我加了延时就好了。谢谢