- /*----------------------------------
- ucos中的OSUnMapTbl,用来快速查询优先级。这个算法在ucos里面用的较多,比如后面的任务管理、任务间通信等都用到了。
- 每个任务的就绪态标志都放入就绪表中的,就绪表中有两个变量OSRdyGrp和OSRdyTbl[]。
- 在OSRdyGrp中,任务按优先级分组,8个任务为一组。OSRdyGrp中的每一位表示8组任务中每一组中是否有进入就绪态的任务。
- 就绪表OSRdyTbl[]的一个元素元素对应着一组任务,这个元素的每一位对应表示这一组的那个任务是否进入就绪态。
- 算法分析:寻找最高优先级任务的所在组 , 找一组8个中的那个优先级最高的
- ----------------------------------
- 计算出总优先级。
- y = OSUnMapTbl[OSRdyGrp];
ucos学习笔记01---OSUnMapTbl的理解
最新推荐文章于 2025-05-17 10:20:37 发布
本文详细解析了UCOS操作系统中用于快速查询优先级的OSUnMapTbl算法,该算法在任务管理和任务间通信中起着关键作用。通过分析OSRdyGrp和OSRdyTbl[],阐述如何计算最高优先级任务的组别和具体优先级,并提供了生成OSUnMapTbl[256]数组的代码示例。

最低0.47元/天 解锁文章
1409

被折叠的 条评论
为什么被折叠?



