vTaskDelay永不返回

vTaskDelay永不返回

问题描述:

我的应用程序使用FreeRTOS V9.0.0和端口文件Source \ portable \ RVDS \ ARM_CM4F(通过RTE Keil导入)在stm32F4上运行。 主,调用一些初始化函数,创建任务,然后调用vTaskStartScheduler。 该任务只需调用永不返回的vTaskDelay(1000)。系统不是故障。故障报告没有显示任何错误或问题。vTaskDelay永不返回

的代码是:

int main(void) 
{ 
init_foo1() 
init_foo2() 
xTaskCreate(aTask, "name",1280, NULL, 6, NULL); 
init_foo3(); 
vTaskStartScheduler(); 
} 
void aTask() 
{ 
vTaskDelay(1000); 
bar(); 
} 

有什么不对? 感谢所有

+0

未知函数未知行为viour - 正确提出问题 –

+0

函数定义对于这个问题并不是不相关的。 vTaskDelay功能在FreeRTOS文档中定义。行为被提及。还有什么需要? –

+0

如果不是(不要大声对我),请自己寻找解决方案。投票搁置 –

你需要首先把无限循环:

用法示例的

vTaskDelay功能accordinly到documentation

void vTaskFunction(void * pvParameters) 
{ 
/* Block for 500ms. */ 
const TickType_t xDelay = 500/portTICK_PERIOD_MS; 

    for(;;) 
    { 
     /* Simply toggle the LED every 500ms, blocking between each toggle. */ 
     vToggleLED(); 
     vTaskDelay(xDelay); 
    } 
} 

另外在测试优先xTaskCreate

UBaseType_t uxPriority