打印

ucosII操作系统多次进中断后返回的问题

[复制链接]
1486|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhp108xx|  楼主 | 2013-7-25 09:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
示例如下:
task_a()                                                                                                               
{
  .
  .
  .
   while(1)
   {
      子函数01;
    子函数02;
      a语句;
    b语句;
    c语句;
    d语句;
   }                        
}                              
如果a、b、c、d四条语句都产生中断并运行中断服务程序,那比如a的中断返回以后程序怎么继续?还会重新运行子函数1和2 么?中断返回以后怎么进行任务切换的。。求高手指点

相关帖子

沙发
zhp108xx|  楼主 | 2013-7-25 10:43 | 只看该作者
没人回答呢。。。自己顶下

使用特权

评论回复
板凳
jlass| | 2013-7-26 08:54 | 只看该作者
我觉得应该是abcd顺序执行的。

使用特权

评论回复
地板
刘骁奖| | 2013-7-26 09:47 | 只看该作者
从什么地方进的中断,就从什么地方出来继续顺序执行。

使用特权

评论回复
5
john_lee| | 2013-7-26 09:48 | 只看该作者
任务被中断时,把PC(program counter)或IP(instructiion pointer)保存在了任务栈上,当任务再次被调度时(进入运行态),必须从保存的PC或IP处继续执行,就是说,在什么地方被中断的,就在什么地方继续执行。

a语句产生中断,执行完isr(包括可能的任务切换,并再次切换回来)后,仍然继续a语句,然后到b语句,
b跟a同样的原理,然后到c语句,c ...到d,d ...到while 起点。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
zhp108xx + 1 赞一个!
6
keal224324| | 2013-8-1 13:57 | 只看该作者
john_lee 发表于 2013-7-26 09:48
任务被中断时,把PC(program counter)或IP(instructiion pointer)保存在了任务栈上,当任务再次被调度时( ...

Perfect

使用特权

评论回复
7
HORSE7812| | 2013-8-17 13:00 | 只看该作者
:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝