我在调用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赋值也不行。请问有什么好的解决方法?感觉也不像是数据还没发送完。 |
stm32f407 开启两路(FS和HS) Custom HID,与上位机通信偶尔中断
stm32f746g-disco开发板的串口通讯连接方式
usart奇偶校验问题
总线舵机驱动电路的一部分求解读
采用USB 全速CDC的时候(12M 波特率),motor pilot的串口速度可以设置为多少,能设置成7372800吗
关于stm32G030的串口接收问题
USB复合设备 HID + CDC串口问题
关于STM32G030的串口接收问题
关于STM32G030的串口2问题
STM32F405 uart DMA收发数据问题
DMA相当于一种外设,UART在它的后面是一种更加慢的外设。
我理解,DMA可以解放MCU,但是不会自动帮你排队发送。
哦哦,谢谢,是不是可以理解为还是发送的太频繁了。我是在试验阶段,不是真正需求。我是比较极端的没有加延时。确实是这样,我加了延时就好了。谢谢