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

2019-12-22 13:45发布

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

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

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

希望大家指点下!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
41条回答
jufr12315
1楼-- · 2019-12-24 05:00
xzhiwei 发表于 2017-9-28 19:51
goto不行?

程序中不想出现goto
jufr12315
2楼-- · 2019-12-24 07:22
q457344370 发表于 2017-9-28 18:57
看你的MCU有没有软中断,软中断优先级设置比串口低,串口接收完成后开启软软件中断。如果没有用定时器中断 ...

谢谢               
浮华一生
3楼-- · 2019-12-24 11:04
 精彩回答 2  元偷偷看……
AlertTao
4楼-- · 2019-12-24 12:27
循环队列,接受数据与处理同时进行,而不是简单的将数据放在一个缓存里。接受数据归接受,处理归处理,两不误
jufr12315
5楼-- · 2019-12-24 13:42
浮华一生 发表于 2017-9-28 20:56
这个还好吧, 你在主循环做个状态机, 平时属于检测串口是否有数据的状态,  一旦检测到, 立马进入另一个状 ...

恩,这样可以!!!
jufr12315
6楼-- · 2019-12-24 16:38
AlertTao 发表于 2017-9-28 21:04
循环队列,接受数据与处理同时进行,而不是简单的将数据放在一个缓存里。接受数据归接受,处理归处理,两不 ...

谢谢  

一周热门 更多>