调用HalUARTWrite()时进入了串口回调函数,LED1闪烁
Yue TANG:
这个是正常的。你自己起的rxCB的名,不表示它不处理串口发送的事件。
你可以看到HalUARTPollDMA() 函数,显然call back 也需要处理HAL_UART_TX_EMPTY,HAL_UART_TX_FULL等发送 事件。
user4713141:
您好请问您的问题解决了吗?我也遇到类似的问题这个怎么解决?
user4713141:
回复 Yue TANG:
您好 我也遇到类似问题 请问怎么修改
one Man:
回复 user4713141:
看上面解释就知道了
user4713141:
回复 Yue TANG:
您好 我遇到和楼主一样的问题,我在HalUARTPollDMA()中的最后一个if判断语句中改成了
if (evt && (dmaCfg.uartCB != NULL)) { evt &= HAL_UART_TX_N;//0xf7 屏蔽掉HAL_UART_TX_FULL和HAL_UART_TX_EMPTY dmaCfg.uartCB(HAL_UART_DMA-1, evt); }
但是还是不行,请指正
one Man:
回复 user4713141:
dmaCfg.uartCB(HAL_UART_DMA-1, evt);这个也要屏蔽,其实思路就是要屏蔽发送产生的事件,或者不去处理产生的事件