硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2230|回复: 1
收起左侧

[μCOS-III] 任务延时时间达到

[复制链接]

16

主题

148

回帖

196

积分

初级会员

积分
196
发表于 2018-6-1 15:58:31 | 显示全部楼层 |阅读模式
当延时时间到了后,时钟节拍任务会把该等待延时的任务放入任务就绪表中,在寻找最高优先级的函数中会找到优先级最高的就绪任务,寻找最高优先级的函数会在任务调度的函数中调用,任务调度只有在调度点才会被调用,也就是说等待延时结束的任务会在下一个调度点任务调度后才有可能运行(此就绪任务为最高优先级的情况下),这样实时性不就得不到保障了嘛。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2018-6-1 16:42:24 | 显示全部楼层

回帖奖励 +2 个金币

uCOS-III改版后,就是这个样子的,专门弄了一个滴答定时器任务,降低了滴答定时器中断的执行时间。

这个没关系的,你需要实时执行的任务,建议使用中断发消息,也就是通过中断级的任务切换执行即可。

另外使用延迟类的API,最好设置成周期性延迟,不要使用相对延迟。其实这类延迟性的任务差1-2个时钟节拍都没什么影响。

回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-14 17:55 , Processed in 0.146625 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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