HAL库的串口中断函数,敢不敢再庞大一点?

2019-08-13 23:06发布

每次中断,收到一个字节,记住是每次,执行一遍HAL_UART_IRQHandler(&huart1),
这个里面循环嵌套的 if 结构要把你遍历得怀疑人生。
要兼容性不要效率?我就想收数据而已,不是说中断函数要越短越快越好吗?

有没有大神知道运行一次这个HAL_UART_IRQHandler(&huart1),要花多久的时间?我115200的波特率有丢失数据啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
newbuff
2019-08-14 16:15
openedvadmin 发表于 2017-9-21 22:38
是的。HAL库的串口处理比较复杂。。。而且局限性比较大。。。。
所以不建议调用HAL_UART_IRQHandler。
直 ...

直接写逻辑?到处是陷阱,防不胜坑啊。
用HAL_UART_Transmitt _DMA发送,结果这厮在发送完了之后竟然打开UART_IT_TC中断,通过这个TC中断调用“发送完成回调函数”,结束发送。
不用HAL_UART_IRQHandle,谁TM知道要去关掉这个IT_TC的位的?
我开始还以为是CubeMX的问题,浪费时间啊

一周热门 更多>