[英]Implementing two tasks in FreeRTOS, unexpected results
我正在尝试使用FreeRTOS API运行两个任务。 我遵循了FreeRTOS的Handson 教程pdf ,但是我的任务只运行了一次就停止了。我在x86 Intel上使用FreeRTOS内核。 我能够编译并运行代码。
我的操作系统是Ubuntu,我在GCC中使用Eclipse Toolchain。 如果有人对此有经验,他们可以给我一些正确做法的指导。
这是我的代码:
static unsigned long uxQueueSendPassedCount = 0;
void vTask1(void *pvParameters)
{
const char *str_to_display="This is task1\n\r";
while(1)
{
printf("%s",str_to_display);
vTaskDelay(1000);
}
}
void vTask2(void *pvParameters)
{
const char *str_to_display="This is task2\n\r";
while(1)
{
printf("%s",str_to_display);
vTaskDelay(1000);
}
}
int main()
{
xTaskCreate(vTask1, (signed char *)"Task1",1000,NULL,3,NULL);
xTaskCreate(vTask2,(signed char *)"Task2",100,NULL,1,NULL);
vTaskStartScheduler();
while(1)
{
}
return 0;
}
更新:我尝试过的其他事情:
仅创建了一个具有无限循环的任务,它可以按预期运行,
仅创建了一个任务,添加了vTaskDelay
,并且出现错误“分段故障(核心已转储)”
您正在使用哪个端口? 还是您正在尝试在Ubuntu上运行代码? 本书中的项目配置为在Windows上运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.