Error:..\FreeRTOS\port\RVDS\ARM_CM3\port.c,244
今天在学习FreeRTOS操作系统-任务查看CPU利用率的时候发现FreeRTOS.H等其他文件明明配置的没错,但是上电运行的时候只运行一遍就会报错报错信息如下:
Error:..\FreeRTOS\port\RVDS\ARM_CM3\port.c,244
后来发现原来是任务没有循环,具体代码如下(只摘抄因为报错部分):
原因报错代码段:
void LED1_Task(void* pvParameters)
{
LED1_ON();
vTaskDelay(500);
LED1_OFF();
vTaskDelay(500);
}
void LED2_Task(void* pvParameters)
{
LED2_ON();
vTaskDelay(1000);
LED2_OFF();
vTaskDelay(1000);
}
此段代码扫一眼发现并没有什么问题,但是运行就是会因为此段代码报错原因就是没有增加循环。
报错代码修改如下:
void LED1_Task(void* pvParameters)
{
while(1)
{
LED1_ON();
vTaskDelay(500);
LED1_OFF();
vTaskDelay(500);
}
}
void LED2_Task(void* pvParameters)
{
while(1)
{
LED2_ON();
vTaskDelay(1000);
LED2_OFF();
vTaskDelay(1000);
}
}
结尾:
两段代码仅仅差距一个while语句