嵌入式学习小组
登录
直播中
尚文清
8年用户
1689经验值
私信
关注
请问UCOS任务切换调用OSTimeDlyHMSM延时函数 延时时间到了会立即返回吗?
开启该帖子的消息推送
UCOS 任务切换调用OS
ti
meDlyHMSM延时函数,延时结束后会立即返回原来的任务吗?
比如说这时候有更高优先级的任务正在执行,但是延时的时间到了,那么会立即返回吗。
还有一个问题,比如我用OSTimeDlyHMSM延时了一秒,然后也会切换任务,这时候我切换的那个任务执行完了也会执行OSTimeDlyHMSM语句吧,这样又有一次任务切换,然后进入再一次任务等等等,这样一秒的时间早晚会用完,并且时间差都差不多,感觉这样会出问题啊
回帖
(5)
刘世晓
2020-3-30 10:09:03
这个是不会准确的,要准确还是采用定时器吧! OS有个任务优先级的抢占,如果你当前的任务级别是最高的,你说的这个情况是成立的,延迟时间到后,反回你的函数下一行代码,但这中间如果有便件中断或更高级别的任务发生,就算是时间到了,当前任务依然无法得到CPU的使用权。
这个是不会准确的,要准确还是采用定时器吧! OS有个任务优先级的抢占,如果你当前的任务级别是最高的,你说的这个情况是成立的,延迟时间到后,反回你的函数下一行代码,但这中间如果有便件中断或更高级别的任务发生,就算是时间到了,当前任务依然无法得到CPU的使用权。
举报
王志强
2020-3-30 10:14:20
OSTimeDlyHMS延时结束以后不一定会返回原来的任务!延时结束以后系统会重新查找下一个就绪了的优先级最高的任务,原来的任务不一定是优先级最高的。
OSTimeDlyHMS延时结束以后不一定会返回原来的任务!延时结束以后系统会重新查找下一个就绪了的优先级最高的任务,原来的任务不一定是优先级最高的。
举报
莫钻红
2020-3-30 10:26:16
谢谢!
还有一个问题也有点不懂,任务A切换时调用OSTimeDlyHMSM函数后进入当前优先级最高的任务B,所以任务A的OSTimeDlyHMSM,只会进行一次任务切换吗,如果再切换到任务C就是任务B的OSTimeDlyHMSM起作用了吗?
谢谢!
还有一个问题也有点不懂,任务A切换时调用OSTimeDlyHMSM函数后进入当前优先级最高的任务B,所以任务A的OSTimeDlyHMSM,只会进行一次任务切换吗,如果再切换到任务C就是任务B的OSTimeDlyHMSM起作用了吗?
举报
刘思思
2020-3-30 10:33:48
谢谢!请问调用OSTimeDlyHMSM是不是会发生两次任务调度,第一次是刚开始执行这个函数时,第二次是时间到了的时候?
谢谢!请问调用OSTimeDlyHMSM是不是会发生两次任务调度,第一次是刚开始执行这个函数时,第二次是时间到了的时候?
举报
更多回帖
rotate(-90deg);
回复
相关问答
UCOSiii
任务
延时时间
达到问题
2020-04-06
1981
用OSSched
函数
为什么只有
任务
优先级最高的
任务
运行?
2020-05-18
2252
UCOSIII中
OSTimeDlyHMSM
延时
切换
任务
问题怎么解决
2020-05-20
2399
请问
任务
的优先级和
任务
的
延时时间
是怎么确认?
2018-07-05
4430
UCOSIII
延时
函数
任务
怎么调度?
2020-04-10
1895
uCOS
的
任务
中
调用
了
函数
,在
函数
中
延时
出错
2019-06-19
1603
请问
函数
OSTimeDlyHMSM
可以发起
任务
切换
的最小
时间
是多少?
2019-08-29
1961
怎么才能在
ucos
ii中知道
任务
的
延时
到了
?
2019-10-22
1822
延时
函数
延时时间
怎么算?
2023-10-23
480
请问
ucos
系统下怎么实现us级
延时
?
2020-03-24
4132
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分