詹科联手走天下吗 发表于 2017-8-1 13:41:52

想问一下osdelay

stm32使用osDelay作为延时可以吗,不在任务中

黑皮男 发表于 2017-8-1 13:41:53

不可以,osDelay是直接调用的vTaskDelay,而在任务之外调用会引起任务调度,导致异常,比如当任务调度器未启动时调用,就会导致异常,至于在中断中调用应该也是不行的,楼主可以自己验证一下中断中调用

詹科联手走天下吗 发表于 2017-8-1 20:34:23

黑皮男 发表于 2017-8-1 18:34
不可以,osDelay是直接调用的vTaskDelay,而在任务之外调用会引起任务调度,导致异常,比如当任务调度器未启 ...

也就是说osdelay一定要在任务循环里调用吗

黑皮男 发表于 2017-8-1 22:37:05

詹科联手走天下吗 发表于 2017-8-1 20:34
也就是说osdelay一定要在任务循环里调用吗

是的,如果在任意地方调用延时函数,需要自己封装一下
页: [1]
查看完整版本: 想问一下osdelay