OpenEdv-开源电子网

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

关于ucos3的任务调度问题

[复制链接]

44

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-5-6
在线时间
10 小时
发表于 2017-5-6 20:26:27 | 显示全部楼层 |阅读模式
1金钱
请大神指教一下,在用ucos3时创建多个任务,每个任务的优先级不一样。调用OSTimeDlyHMSM()延时函数可以做到任务的切换,每个任务都得到执行。但是我并不想用延时函数来切换任务,这样延时的时间就浪费了。我用OSSched()函数为什么只有任务优先级最高的任务运行!???

最佳答案

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

肯定的,要不然延时3S干嘛。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-5-6 20:26:28 | 显示全部楼层
这天儿蓝的 发表于 2017-5-6 21:33
恩恩。我考虑到了您说的问题,但是比如我有3个任务,每个任务都用OSTimeDlyHMSM延时3秒吧,再用串口答 ...

肯定的,要不然延时3S干嘛。
开往春天的手扶拖拉机
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-5-6 20:37:38 | 显示全部楼层
因为你把其它的任务给饿死了!老是最高优先级的任务处于就绪态,每次任务切换的时候都会运行优先级最高的任务!还有不要觉得用系统的时候用来OSTimeDlyHMSM就会浪费时间!时间没有浪费掉,延时的时候就会切换到其它的任务去运行!
回复

使用道具 举报

44

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-5-6
在线时间
10 小时
 楼主| 发表于 2017-5-6 20:44:36 | 显示全部楼层
恩恩。我考虑到了您说的问题,但是比如我有3个任务,每个任务都用OSTimeDlyHMSM延时3秒吧,再用串口答应数据观察运行结果,明显可以感觉到中间有将近3秒的停顿。就是说这3个任务都进了延时吗?
回复

使用道具 举报

44

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-5-6
在线时间
10 小时
 楼主| 发表于 2017-5-6 21:33:08 | 显示全部楼层
zuozhongkai 发表于 2017-5-6 20:37
因为你把其它的任务给饿死了!老是最高优先级的任务处于就绪态,每次任务切换的时候都会运行优先级最高的任 ...


恩恩。我考虑到了您说的问题,但是比如我有3个任务,每个任务都用OSTimeDlyHMSM延时3秒吧,再用串口答应数据观察运行结果,明显可以感觉到中间有将近3秒的停顿。就是说这3个任务都进了延时吗?
回复

使用道具 举报

44

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2017-5-6
在线时间
10 小时
 楼主| 发表于 2017-5-7 10:02:58 | 显示全部楼层
zuozhongkai 发表于 2017-5-6 20:26
肯定的,要不然延时3S干嘛。

恩恩。多谢了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-2 00:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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