|
我在调用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赋值也不行。请问有什么好的解决方法?感觉也不像是数据还没发送完。 |
在RS485通信中如何有效避免误码,距离5米,速率115200
STM32F103C8T6 上电后无法通过串口发出数据的问题?
UART中IDLE 中断与 RTO 接收超时中断有什么区别
I2C 错误代码含义
在 LwIP_HTTP_Server_Netconn_RTOS 工程中添加 USART3 功能时遇到问题
串口+DMA发数据
串口DMA收发出现ORE错误
stm32使用hal库数据疑问
stm32使用hal库开发串口通讯问题
CUBEMX配置G474串口DMA传输,为什么接收正常发送不了?
微信公众号
手机版
DMA相当于一种外设,UART在它的后面是一种更加慢的外设。
我理解,DMA可以解放MCU,但是不会自动帮你排队发送。
哦哦,谢谢,是不是可以理解为还是发送的太频繁了。我是在试验阶段,不是真正需求。我是比较极端的没有加延时。确实是这样,我加了延时就好了。谢谢