请问大家,我的一个时钟节拍为10ms,我再任务中用OSTimeDly(50)来等待500ms,可是在实际运行的时候,我发现有时OSTimeDly(50)函数根本没有待,就像执行一条语句一样就过去了,有时又是正确的等待了500ms。是什么原因呢?难道是我的UCOS-II有问题?
回复 板凳xinjitmzy 的帖子
我有3个任务。。
任务调度啊
OSTimeDly里面 进行任务调度
如果发现有可以执行的任务
比如说 a在执行 你delay 500ms
这个时候 b已经就绪了 且优先级高于a
那么就不会delay了
如果没有可执行的任务
那么 就正常delay
你要看下一次进入该任务是不是500ms后,马上跳到其他任务是正常的