| 
 
新手入门 
 
	积分17金钱17 注册时间2023-6-3在线时间4 小时 | 
 
1金钱 
|   今天在学习freeRTOS的时候,突然想到一个问题,如果优先级相同的时候,时间片的调度会协调各任务。
 但是如果优先级不同的情况下,如果中间优先级的任务不使用vTaskDelay去挂起任务呢?
 那么低优先级的任务是不是会被该任务去无限阻塞,导致无法运行?
 然后就设置了如图的任务;
 (1)LED1任务死循环中如果为空时,无论LED0,USART1的优先级为高还是为低,两个任务运行正常;
 (2)LED1任务中打开gLED_Toggle(),但是不打开vTaskDelay时,设置USART1的优先级为4,设置LED0的优先级分别为2与5时,LED0闪烁表现异常,
 LED偶尔以设定的1s的频率运行,偶尔会在一瞬间跳变两次(应该)电平,从而保持了之前的状态,
 如:当前为低,准备跳转高,结果跳转高后又接着跳转低电平,从而维持了之前低电平的状态;
 
 现在手上又没有仿真器以及示波器,所以没办法去仿真与观察具体的电平转换情况,所以问问大家
 
 | 
 |