freertos是经过cmsis-os API包装过的,是st官方移植的V9.0.0版本 是在官方demo是修改,两个led线程,把延时函数都注释掉, 这样在一个线程中就执行翻转LED相关引脚语句,如下所示 while(1){ //osDelay(1); BSP_LED_Toggle(LED2); osThreadResume(LEDThread2Handle); osThreadSuspend(LEDThread1Handle); } 这样在一个时间片(1ms)还没走完之前就切换到下一个线程了, 下一个线程也执行同样的流程,则os立马卡住,但是只要把osDelay(1); 的注释取消掉,则没问题了,暂时未明白问题根源, |
|