OpenEdv-开源电子网

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

UCOS-III时间片轮转调度与延时函数问题

[复制链接]

30

主题

152

帖子

0

精华

高级会员

Rank: 4

积分
551
金钱
551
注册时间
2017-3-16
在线时间
89 小时
发表于 2017-10-25 10:55:27 | 显示全部楼层 |阅读模式
2金钱
在这里想请教一个问题,使用UCOS-III的时间片轮转方式,使用任务一创建任务二和任务三,以时间片轮转方式进行任务二和任务三的切换(任务二和任务三同一优先级),在任务二和任务三中,都调用了延时函数OSTimeDlyHMSM(延时1s),任务二和三的时间片为2(10ms),我想问的是,任务二进入延时函数,同时发生任务调度,切换到任务三,在任务三执行10ms后,再次发生任务切换,切换回任务二,但此时任务二的延时时间还未到1s,此时,cpu是如何处理的,这部分的知识我应该去哪里找答案(涉及了哪一块的知识?本人刚开始看UCOS,还不太懂,希望大家回复一下)

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-10-25 10:59:21 | 显示全部楼层
任务二延时时间还未到的话它就不会添加到任务就绪表中!所以任务三执行完以后根本就不会切换到任务二,而是切换到任务就绪表中处于就绪态的优先级最高的任务!
回复

使用道具 举报

5

主题

41

帖子

0

精华

高级会员

Rank: 4

积分
676
金钱
676
注册时间
2017-9-22
在线时间
240 小时
发表于 2017-10-25 11:56:38 | 显示全部楼层
没有基础的话建议先从UCOSII看,相应教程在正点原子的开发板资料里,然后再看UCOSIII.

UCOSIII手册(中文).pdf

5.31 MB, 下载次数: 337

回复

使用道具 举报

30

主题

152

帖子

0

精华

高级会员

Rank: 4

积分
551
金钱
551
注册时间
2017-3-16
在线时间
89 小时
 楼主| 发表于 2017-10-25 12:41:50 | 显示全部楼层
zuozhongkai 发表于 2017-10-25 10:59
任务二延时时间还未到的话它就不会添加到任务就绪表中!所以任务三执行完以后根本就不会切换到任务二,而是 ...

现在就任务二和任务三,任务三执行10ms后,下面会怎么执行?
cpu要等待任务二的延时时间到了,然后去执行任务二10ms?
回复

使用道具 举报

30

主题

152

帖子

0

精华

高级会员

Rank: 4

积分
551
金钱
551
注册时间
2017-3-16
在线时间
89 小时
 楼主| 发表于 2017-10-25 12:43:40 | 显示全部楼层
HXDZ 发表于 2017-10-25 11:56
没有基础的话建议先从UCOSII看,相应教程在正点原子的开发板资料里,然后再看UCOSIII.

UCOSII好像不支持时间片轮转,不过谢谢您的回复,我只是不明白我这里的疑问应该具体去看UCOS哪一块的知识
回复

使用道具 举报

5

主题

41

帖子

0

精华

高级会员

Rank: 4

积分
676
金钱
676
注册时间
2017-9-22
在线时间
240 小时
发表于 2017-10-25 13:39:33 | 显示全部楼层
知道UCOSII没有时间片轮调度,建议那么做是因为III比II使用要麻烦,从简单到复杂一步步的来更好一点儿。这块知识在UCOSIII调度那一部分找答案,在UCOSIII中,如果优先级相同,如果用时间片轮调度,当任务没有用完分配给它的时间片时,它可以自愿放弃CPU使用权。cpu是按照划分的时间片轮流执行任务,我的理解就是类似交通调度中的加快节拍的交通岗红绿灯。
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-10-25 14:39:51 | 显示全部楼层
bh1023058880 发表于 2017-10-25 12:41
现在就任务二和任务三,任务三执行10ms后,下面会怎么执行?
cpu要等待任务二的延时时间到了,然后去执 ...

都给你说的清清楚楚了!执行就绪表里面优先级最高的任务!!!别忘了,还有个优先级最低的空闲任务!不存在只有任务二和任务三。至于资料,去买UCOS官方的那本UCOSIII的中文版本。
开往春天的手扶拖拉机
回复

使用道具 举报

30

主题

152

帖子

0

精华

高级会员

Rank: 4

积分
551
金钱
551
注册时间
2017-3-16
在线时间
89 小时
 楼主| 发表于 2017-10-25 16:04:31 | 显示全部楼层
zuozhongkai 发表于 2017-10-25 14:39
都给你说的清清楚楚了!执行就绪表里面优先级最高的任务!!!别忘了,还有个优先级最低的空闲任务!不存 ...

ok  谢谢了
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2021-4-9
在线时间
0 小时
发表于 2021-4-9 11:37:21 | 显示全部楼层
HXDZ 发表于 2017-10-25 11:56
没有基础的话建议先从UCOSII看,相应教程在正点原子的开发板资料里,然后再看UCOSIII.

你这文档下载之后不能打开
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2016-5-4
在线时间
20 小时
发表于 2021-5-6 09:58:47 | 显示全部楼层
学习中
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-28 00:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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