对于ucos2 *** 作系统,为什么不能在中断中调用pend函数(如OSSemPend())?

对于ucos2 *** 作系统,为什么不能在中断中调用pend函数(如OSSemPend())?,第1张

进中断时,已经将全局中断屏蔽了,也就是说时钟滴答的中断也屏蔽,如果打开了pend函数,那么程序就会在这个中断里面等信号量,消息邮箱等等,,,,但是这样等是没有效果的,因为连时钟滴答的中断也屏蔽了,其他优先级高的程序的OSDelay也不能自减,也就无优先级可言,也就是也不能就绪,这样也就不能发信号量,消息邮箱等等信号了。但是中断里面的pend还在死等。也就是任务再也无法调度,永远在这个中断函数里面,就死掉了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13410354.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存