打印
[uCOS/RTOS]

ucosII 中任务调度的问题

[复制链接]
2038|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pjzmj2012|  楼主 | 2017-10-23 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
feelhyq| | 2017-10-23 15:40 | 只看该作者
可以,换汤不换药,OSTimeDly(1);下面的链接可以学习下

http://blog.csdn.net/h32dong809/article/details/7082511

使用特权

评论回复
板凳
Cjy_JDxy| | 2017-10-23 15:43 | 只看该作者
有现成的为什么不用呢

使用特权

评论回复
地板
红蛋大叔| | 2017-10-25 13:53 | 只看该作者
OSTimeDlyHMSM ()功能的作用
本质上是任务主动交出运行权,然后内核会去就绪表中运行最高优先级任务。等到延时时间到后,操作系统会自动把该任务重新置为就绪状态等待获取CPU控制权。
为什么要OSTimeDlyHMSM ()
当一个任务获得运行权后,任务不能一直占用CPU,否则其他任务就无法运行,任务做完了他的事后需要把运行权交出去。如果该任务交出运行权后还想过一段时间后再次无条件运行,那么一般调用的就是用就是操作系统提供的延时函数。

使用特权

评论回复
5
lishutong| | 2017-11-18 10:45 | 只看该作者
本帖最后由 lishutong 于 2017-11-18 10:46 编辑

不知道你指的别的延时函数是什么?

ucos有提供另外一个延时函数,OSTimeDly(1).这两个本质上没有什么区别。但是相比之下, OSTimeDlyHMSM可以时间更长时间的延时,而且更容易使用。

如果你指的是自己定义函数的话,在有一些情况是不能替代的。系统延时函数有他的优点,也有它的缺点。自定义的函数同样也有着缺点和优点。

相对来说,使用系统延时函数的最大好处在于:在延时过程中,CPU可以切换到其他的任务运行,在很大程度上,可以提升CPU的利用率。

一般情况下,最好是根据你的实际应用需求来决定使用哪一种延时。

关于这些延时函数的具体优缺点,你看下我这篇**:http://01ketang.cc/rtos/rtos-sys-delay.html


使用特权

评论回复
6
憨厚诚实大叔| | 2017-12-21 09:30 | 只看该作者
我感觉楼主要去看的是上下文切换的原理

使用特权

评论回复
7
杨爱林林| | 2018-1-15 16:24 | 只看该作者
可以,不过需要注意上下文切换。

使用特权

评论回复
8
单枪舞九州| | 2018-2-11 14:24 | 只看该作者
最好不要要自己写的延时函数。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

131

帖子

1

粉丝