延时选用delay还是osdelay

2019-08-17 11:00发布

  最近看原子哥刚发布的rtos视频,收益匪浅,但是关于大家经常使用到的延时有个疑问;
  在原子视频中用的是delay函数,库函数本身还提供另外一个延时函数-osdelay函数,关于这两个函数我是这么理解的,调用osdelay会把任务的cpu使用权交出去,等到时间到立即就绪等待执行(貌似没有立即执行,有没错),而delay函数虽然也有延时,但是任务并没有交出cpu使用权,还是把属于它的时间片正常使用,这样的话,cpu的利用得不到最大化,那么我的疑问是,为何不用osdelay使cpu效率更高?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
shikihane
1楼-- · 2019-08-17 14:39
太小的延时没必要用os_delay,不然上下文切换用的时间比你延时的还多,亏的要死
shikihane
2楼-- · 2019-08-17 20:28
osdelay 要注意调度啵。假如你在临界区里osdelay,你就永远回不来了,因为临界区会停止任务调度器。
yinshiyouquan
3楼-- · 2019-08-17 21:05
shikihane 发表于 2017-5-27 17:05
太小的延时没必要用os_delay,不然上下文切换用的时间比你延时的还多,亏的要死

如果是延时几秒这种呢
shikihane
4楼-- · 2019-08-17 22:08
 精彩回答 2  元偷偷看……

一周热门 更多>