怎么让中断后不返回到中断前执行的代码?

2019-12-22 13:45发布

不修改返回的PC地址,如何让中断返回到其它函数?好像不修改PC地址实现不了?

我的问题实际就是,在主函数执行过程中,突发事件来了,突发就是串口中断接收到某数据,这时
我不能返回到原来的地址继续执行,想跳到另外一个处理函数A去,这个函数可以是空的,但要一直在
这个函数循环等待,等待只要串口再次接收到某数据,则可以退出A函数,继续执行主函数。

这个,没有操作系统。
但如果不上系统,能实现吗?
用上系统是不是好实现一些?

希望大家指点下!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
41条回答
canspider
1楼-- · 2019-12-23 09:38
随便搞个轻量的操作系统就好了
浮华一生
2楼-- · 2019-12-23 13:37
程序逻辑问题吧 我觉得.  你完全可以给串口做个BUFFER  中断里面放入数据   主循环里面做检测就好了.  通过数量来检测是否有数据,然后进一步做某数据的判断. 别谈什么实时. 实时都是相对的, 只可能尽量减小反应时间并且让这个反应时间在可预测并且相对固定的范围内, 不可能有绝对实时的系统.
jufr12315
3楼-- · 2019-12-23 13:55
ztrx 发表于 2017-9-28 19:47
主循环里等待不行吗

主循环可以扫描串口的buff,但是担心有点延时。我需要收到马上判断及时作出处理。

这个,到时实测下,现在先准备多个方法。
jufr12315
4楼-- · 2019-12-23 14:00
 精彩回答 2  元偷偷看……
jufr12315
5楼-- · 2019-12-23 19:13
canspider 发表于 2017-9-28 20:26
随便搞个轻量的操作系统就好了

有推荐的吗?我也可以学习下
jufr12315
6楼-- · 2019-12-23 23:36
aozima 发表于 2017-9-28 20:08
使用OS,在你需要的线程中等待对应的中断事件。

谢谢      

一周热门 更多>