![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
对于ucos2操作系统,为什么不能在中断中调用pend函数(如OSSemPend())?
1个回答
展开全部
进中断时,已经将全局中断屏蔽了,也就是说时钟滴答的中断也屏蔽,如果打开了pend函数,那么程序就会在这个中断里面等信号量,消息邮箱等等,,,,但是这样等是没有效果的,因为连时钟滴答的中断也屏蔽了,其他优先级高的程序的OSDelay也不能自减,也就无优先级可言,也就是也不能就绪,这样也就不能发信号量,消息邮箱等等信号了。但是中断里面的pend还在死等。也就是任务再也无法调度,永远在这个中断函数里面,就死掉了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询