无为之益 发表于 2020-11-24 09:22

cmsis_os2,FREERTOS版本V2,调用osDelay(x)可以堵塞任务吗?

我在程序调试过程中,发现一个奇怪的问题,整个程序就是一个任务,如果写
void StartMyTask(void *argument)
{
                UNUSED(argument);
                for(;;)
                {       
                                osThreadFlagsWait(1,osFlagsWaitAll,osWaitForever);                                       
                }                       
}
程序运行正常。
如果写
void StartMyTask(void *argument)
{
                UNUSED(argument);
                for(;;)
                {       
                                printf("my task!\r\n");
                                osDelay(1000);                                       
                }                       
}
进入低功耗就会出问题
为什么呢?吓得我都不敢用osDelay了,但是一些需要等待延时的地方,还是osDelay用起来方便些。

请高手多多指教FREERTOS小白,谢谢。我目前用的是STM32WB芯片
页: [1]
查看完整版本: cmsis_os2,FREERTOS版本V2,调用osDelay(x)可以堵塞任务吗?