两个串口中断优先级设置疑问

2019-08-20 16:25发布

想不通,两个串口同时使用,和两个不同的设备通信。不管哪个串口优先级放到后面,肯定都有被优先级高的打断的时候,一但打断等再回来少说得20ms(就MODBUS协议通信来说读几个寄存器什么的)以上吧!和它通信的设备这20ms任然在进行数据传送呢,那就只有眼睁睁的丢数据了。。。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
taizonglai
1楼-- · 2019-08-20 20:53
不使用系统就定义一个数据缓冲区啊!每个串口接收到的数据都放到自己的缓冲区里面去,然后在主函数里面去处理!
lygxnb
2楼-- · 2019-08-21 00:13
 精彩回答 2  元偷偷看……
DongInker
3楼-- · 2019-08-21 02:49
可以使用消息队列,就是串口中断只赋值将接收数据存到消息队列中,不再中断处理,这样接收一个数据的时间是很短的,几个串口一起开都没事。
lygxnb
4楼-- · 2019-08-21 03:41
DongInker 发表于 2017-4-26 22:13
可以使用消息队列,就是串口中断只赋值将接收数据存到消息队列中,不再中断处理,这样接收一个数据的时间是 ...

谢谢!
要跑操作系统才能消息列队吧!裸奔怎么弄呢。

一周热门 更多>