程序结构如何安排求助

2019-12-13 18:27发布

这是以前写程序碰到过的一个问题,就是我有一个任务A需要能及时响应,这个任务优先级最高。
他50Hz频率来和我通信,但是这50次里可能只有一次是问我,也可能是两次,我需要每次去判断地址是不是我的地址。通信频率是固定的,每次通信间隔20ms。
另一个任务B是计算,这个任务不是那么紧急,算慢一点也没有问题。
我开始让A实现的方法是用中断去实现,B在main函数中去一直计算,这也是我们常用的方法。
但是我发现A用中断实现有点麻烦,于是我想能不能把A放在main函数中一直去执行,只要发现对方是问我了,
我就去响应,但是一旦不是问的我,我就转头去执行任务B,因为我在下一次通信到来前还有20ms(实际不够20ms)的时间去执行B,
我用定时器定个时间,比如说19ms,如果19ms时间到了,我再切换到任务A去,准备响应A。
我在想这种程序结构怎么实现呢?原来我想的是用任务切换的方法,但是实现起来也很麻烦,不仅涉及到汇编,还有内核的状态等等。
不知道有没有高人,有没有什么其他好的方法呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
日日♂夜夜
1楼-- · 2019-12-15 12:52
 精彩回答 2  元偷偷看……
robincui
2楼-- · 2019-12-15 13:56
学习学习,mark一下

一周热门 更多>