OSRdyGrp |= OSMapTbl[prio >>3]; OSRdyTbl[prio >>3] |= OSMapTbl[prio&0x07] ;转换为C代码
时间: 2023-12-29 18:05:31 浏览: 67
>> 3] 表示将变量 prio 右移 3 位,相当于将其除以 8,然后取整。这个操作的目的是将任务的优先级 prio 转化为在位图中的对应位置。OSMapTbl 是一个长度为 32 的数组,每个元素都是一个字节,表示一个位图中的 8 个位。OSRdyGrp 和 OSRdyTbl 都是位图,用于表示当前可运行的任务。这条语句的意思是将 OSMapTbl 中 prio 对应的那个字节的所有位都设置为 1,并将结果分别与 OSRdyGrp 和 OSRdyTbl 进行或运算,以将对应位设置为 1,表示该任务可运行。
阅读全文