raytheonn 发表于 2019-11-18 16:12:44

关于stm32中FREERTOS的延时函数osDelayUntil()死机问题;

Dear All:

      我在使用STM32F4跑freertos的时候发现一旦使用osDelayUntil()函数,就会死机,但是用osDelay()函数就不会,按理说不是都可以用的吗?有知道原因的吗,谢谢!

caoenq 发表于 2019-11-18 16:52:02

没有使用过这个函数,帮顶。

raytheonn 发表于 2019-11-18 17:29:32

找到问题了,估计是封装后的函数有问题,用它的原函数【vTaskDelayUntil】就可以了,函数在【task.h】里面!

mikecai 发表于 2019-11-18 17:30:41

osDelayUntil() 使用的时间是绝对系统时间,如是100的话,那就是延时到系统时间是100,当你系统早过了这个100,那osDelayUntil(100)就是无限延时了。。。
而 OsDelay() 使用的时间是相对延时时间,

mikecai 发表于 2019-11-18 17:33:23

参考资料:
http://www.keil.com/pack/doc/cmsis/rtos2/html/group__CMSIS__RTOS__Wait.html

raytheonn 发表于 2020-4-1 08:54:34

mikecai 发表于 2019-11-18 17:30
osDelayUntil() 使用的时间是绝对系统时间,如是100的话,那就是延时到系统时间是100,当你系统早过了这个1 ...

学习了!

andeyqi 发表于 2020-4-1 10:17:14

需要get下当前的系统时间之后加上对应的延时就可以了
页: [1]
查看完整版本: 关于stm32中FREERTOS的延时函数osDelayUntil()死机问题;