uc/os进中断与进临界区有什么区别?
答案:2 悬赏:70
解决时间 2021-01-24 02:55
- 提问者网友:我是女神我骄傲
- 2021-01-23 07:09
uc/os进中断与进临界区有什么区别?
最佳答案
- 二级知识专家网友:酒安江南
- 2021-01-23 07:17
1、OS_Enter_Critical:叫做进入关键代码段,意为执行此段代码时,决不允许被打断,否则可能会有意想不到的结果。其实说白了,OS_Enter_Critical与OS_Exit_Critical是一对,就是进入关键代码之前关中断,之后再开中断;
2、而OSIntEnter()和OSIntExit()这一对函数和上面完全不是一个概念,前者是在你进入中断服务成ISR中后,要调用的,其实也就是将中断嵌套层数加1,并且告知OS我已经进中断了,要做好中断前任务的保存工作,完成中断服务前调用OSIntExit()告知OS我要退出中断了,减一次中断嵌套层数,并且要查看是否需要调度任务。这样的函数在裸机应用中是没必要的,但在OS中不用的话,很容易造成程序瘫痪。
2、而OSIntEnter()和OSIntExit()这一对函数和上面完全不是一个概念,前者是在你进入中断服务成ISR中后,要调用的,其实也就是将中断嵌套层数加1,并且告知OS我已经进中断了,要做好中断前任务的保存工作,完成中断服务前调用OSIntExit()告知OS我要退出中断了,减一次中断嵌套层数,并且要查看是否需要调度任务。这样的函数在裸机应用中是没必要的,但在OS中不用的话,很容易造成程序瘫痪。
全部回答
- 1楼网友:洎扰庸人
- 2021-01-23 07:23
你说得好有道理,我竟无言以对o(╯□╰)o
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯