UART 问题请教

2019-07-20 03:40发布

串口接收1个字符会产生中断,在UART_Receive_IT里面 pRxBuffPtr++,RxXferCount--
当    -- RxXferCount = 0,表示接收完了此次的所以字符,进入回调函数 HAL_UART_RxCpltCallback,
但是为什么在回调函数里还要判断是否接受完成呢?还是说我的理解有什么错,请大神指出改正,TKS!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
亦辰
1楼-- · 2019-07-20 08:24
本帖最后由 亦辰 于 2019-2-26 10:52 编辑

回调函数 HAL_UART_RxCpltCallback中的接收完成判断是对程序中自定的一个接受协议的判断,即对接受到的数据的格式的判断,就是说接受的数据满足了我规定的协议,就认为接受完成,并不是你理解的同一个判断,建议认真看看对应章节的相应内容
kmmyk
2楼-- · 2019-07-20 11:19
你说的是硬件中断,但在HAL库里,所有的串口中断,又被封装到一个串口中断处理程序里去,包含了一个接收数量,所以需要判断。
烈日灼心
3楼-- · 2019-07-20 15:00
 精彩回答 2  元偷偷看……
edmund1234
4楼-- · 2019-07-20 20:20
回调函数本来的设计是放你现在放在中断里的东东, 明白?
烈日灼心
5楼-- · 2019-07-20 23:34
 精彩回答 2  元偷偷看……
edmund1234
6楼-- · 2019-07-21 05:03
 精彩回答 2  元偷偷看……

一周热门 更多>