OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4592|回复: 6

关于就绪表的问题

[复制链接]

30

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2013-8-27
在线时间
8 小时
发表于 2014-9-20 10:33:29 | 显示全部楼层 |阅读模式
5金钱
在程序中,可以用类似下面的代码把优先级别为prio的任务置为就绪状态:                                          /
OSRdyGrp | =OSMapTbl[prio>>3];                                                                                                    /
OSRdyTbl[prio>>3] | = OSMapTbl[prio&0x07];


如果要使一个优先级别为prio的任务脱离就绪状态则可使用如下类似代码:                                           /

if((OSRdyTbl[prio>>3]&=~OSMapTbl[prio&0x07])==0)                                                                     /
OSRdyGrp&=~OSMapTbl[prio>>3];  

这两段代码看不懂额,求大神通俗的翻译一下,谢谢

最佳答案

查看完整内容[请看2#楼]

UCOS通过两个变量对应的位知道该任务是否进入就绪,一个是OSRdyGrp另一个是OSRdyTbl,所以将任务置为就绪就置为这两个变量对应的位,取消就绪状态就复位对应的位即可
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-7-1
在线时间
0 小时
发表于 2014-9-20 10:33:30 | 显示全部楼层
UCOS通过两个变量对应的位知道该任务是否进入就绪,一个是OSRdyGrp另一个是OSRdyTbl[prio>>3],所以将任务置为就绪就置为这两个变量对应的位,取消就绪状态就复位对应的位即可
回复

使用道具 举报

1

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-7-1
在线时间
0 小时
发表于 2014-9-20 10:33:30 | 显示全部楼层
回复【5楼】小z:
---------------------------------
OSRdyGrp是一个变量不是数组,OSRdyTbl是一个一维数组,之所以用OSRdyGrp,是因为这样可以更快速的查找就绪的优先级,不用遍历OSRdyTbl,从而提高效率缩短执行时间
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-9-20 23:13:31 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

30

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2013-8-27
在线时间
8 小时
 楼主| 发表于 2014-9-22 19:56:42 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢
回复

使用道具 举报

30

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2013-8-27
在线时间
8 小时
 楼主| 发表于 2014-9-22 20:02:35 | 显示全部楼层
回复【3楼】taiwentaotwt:
---------------------------------
谢谢,就是想知道就绪表为什么需要两个数组,OSRdyTbl就可以找到相应位了。
回复

使用道具 举报

30

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2013-8-27
在线时间
8 小时
 楼主| 发表于 2014-9-23 13:29:49 | 显示全部楼层
回复【6楼】taiwentaotwt:
---------------------------------
谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 04:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表