串口发送一次后就不再发送数据

2019-07-14 15:02发布


        HAL_UART_Transmit_DMA发送一次数据后,huart->gState始终等于HAL_UART_STATE_BUSY_TX,经调试发现串口数据发送完毕后并没有进入UART_EndTransmit_IT函数将huart->gState重置为HAL_UART_STATE_READY,请教下这个问题怎么解决?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
zhe0010
1楼-- · 2019-07-14 22:37
重新开启中断
cknz
2楼-- · 2019-07-15 01:00
你在error那一段放个断点,看看?就算没有callback,都会复位的.还是其他  改了这个标识位?
60user182
3楼-- · 2019-07-15 04:38
一看就是80后,宇宙骑士的粉?
60user71
4楼-- · 2019-07-15 07:58
应该是设置了DMA的TC(传输完成)中断,然后没有清除中断标志或者 Flag。所以当第一次发送完毕之后,标志位没有清零导致不能开始第二次传输。
cnm7
5楼-- · 2019-07-15 09:23
 精彩回答 2  元偷偷看……
胡bbs3
6楼-- · 2019-07-15 12:59
看下串口,DMA相关的寄存器,是没清掉还是干嘛了

一周热门 更多>