199***180
关于串口接收不到数据的问题
将串口接收数据放在一个PIN触发的中断中处理,发现这时候的串口可以发送数据,但是接收不到数据。是串口接收数据的这个函数不能这样用吗,代码如下


Seiyou

你好,关于你的问题:
UART_WAKEUP_Handle作为IO回调事件函数,被调用时位于中断上下文,而在uart_Info_Handle中又调用了异步的UART接收函数,由于UART中断优先级与IO中断优先级一致,UART中断会pending,导致无法正确将g_tdone与g_rdone置位。
从程序设计的角度讲,任何耗时较长或存在“等待”行为的操作都不应该在中断上下文中执行,这样会阻塞其他模块代码的执行,严重影响应用整体的时序。
打开微信,使用“扫一扫”即可关注