[讨论] 关于将任务从就绪表中注销的问题

森旗   2014-11-8 22:25 楼主
在UCOS2中 将任务从就绪表中注销有这样几条语句:
if((OSRdyTbl[prio >> 3]&= - OSMapTbl[prio&0x07])==0)
    OSRdyGrp&= - OSMapTbl[prio >> 3];
注销意思就是将就绪表中prio对应位置置零,它运用的事位图方法,if()里面的内容我们知道不是赋值语句,程序不是应该把OSRdyTbl[prio >> 3]中的对应位置零吗?怎么它只是把对应的组置零?

回复评论 (1)

OSRdyTbl[prio >> 3]&= ~ OSMapTbl[prio&0x07]这个就是赋值语句啊
点赞  2015-1-16 15:49
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复