OpenEdv-开源电子网

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

UCOS 任务切换调用OSTimeDlyHMSM延时函数,延时结束后会立即返回原来的任务吗?

[复制链接]

10

主题

22

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-3-9
在线时间
28 小时
发表于 2018-3-9 22:07:20 | 显示全部楼层 |阅读模式
UCOS 任务切换调用OSTimeDlyHMSM延时函数,延时结束后会立即返回原来的任务吗?
比如说这时候有更高优先级的任务正在执行,但是延时的时间到了,那么会立即返回吗。

还有一个问题,比如我用OSTimeDlyHMSM延时了一秒,然后也会切换任务,这时候我切换的那个任务执行完了也会执行OSTimeDlyHMSM语句吧,这样又有一次任务切换,然后进入再一次任务等等等,这样一秒的时间早晚会用完,并且时间差都差不多,感觉这样会出问题啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2016-12-22
在线时间
52 小时
发表于 2018-3-17 23:09:40 | 显示全部楼层
UCOS运行的机制就是任务调度,OSTimeDlyHMSM的延时时间到了就会进行一次任务调度,查看就绪的任务,最高优先级的最先运行,依次类推,把就绪的任务运行完。
回复 支持 0 反对 1

使用道具 举报

9

主题

507

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3292
金钱
3292
注册时间
2013-4-10
在线时间
326 小时
发表于 2018-3-10 00:25:27 | 显示全部楼层

回帖奖励 +5 金钱

这个是不会准确的,要准确还是采用定时器吧! OS有个任务优先级的抢占,如果你当前的任务级别是最高的,你说的这个情况是成立的,延迟时间到后,反回你的函数下一行代码,但这中间如果有便件中断或更高级别的任务发生,就算是时间到了,当前任务依然无法得到CPU的使用权。
回复 支持 反对

使用道具 举报

88

主题

7381

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14979
金钱
14979
注册时间
2013-11-13
在线时间
1823 小时
发表于 2018-3-10 09:50:18 | 显示全部楼层
OSTimeDlyHMS延时结束以后不一定会返回原来的任务!延时结束以后系统会重新查找下一个就绪了的优先级最高的任务,原来的任务不一定是优先级最高的。
回复 支持 反对

使用道具 举报

10

主题

22

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-3-9
在线时间
28 小时
 楼主| 发表于 2018-3-10 13:11:39 | 显示全部楼层
likunxue 发表于 2018-3-10 00:25
这个是不会准确的,要准确还是采用定时器吧! OS有个任务优先级的抢占,如果你当前的任务级别是最高的,你 ...

谢谢!
还有一个问题也有点不懂,任务A切换时调用OSTimeDlyHMSM函数后进入当前优先级最高的任务B,所以任务A的OSTimeDlyHMSM,只会进行一次任务切换吗,如果再切换到任务C就是任务B的OSTimeDlyHMSM起作用了吗?
回复 支持 反对

使用道具 举报

10

主题

22

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-3-9
在线时间
28 小时
 楼主| 发表于 2018-3-10 14:01:58 | 显示全部楼层
zuozhongkai 发表于 2018-3-10 09:50
OSTimeDlyHMS延时结束以后不一定会返回原来的任务!延时结束以后系统会重新查找下一个就绪了的优先级最高的 ...

谢谢!请问调用OSTimeDlyHMSM是不是会发生两次任务调度,第一次是刚开始执行这个函数时,第二次是时间到了的时候?
回复 支持 反对

使用道具 举报

3

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2018-8-8
在线时间
47 小时
发表于 2020-12-1 21:35:33 | 显示全部楼层
走在路上 发表于 2018-3-17 23:09
UCOS运行的机制就是任务调度,OSTimeDlyHMSM的延时时间到了就会进行一次任务调度,查看就绪的任务,最高优 ...

应该是刚延时就去查看就绪任务吧,等到延时结束 ,延时过程中 什么活都不干 不是浪费cpu吗
回复 支持 反对

使用道具 举报

7

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
299
金钱
299
注册时间
2016-10-1
在线时间
115 小时
发表于 2023-8-7 01:54:23 来自手机 | 显示全部楼层
我也有这个疑问
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-5-15 23:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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