This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP432E401Y:执行卡在包含两个任务的应用程序的单个任务上

Guru**** 2581345 points
Other Parts Discussed in Thread: MSP432E401Y

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/808492/msp432e401y-execution-getting-stuck-on-a-single-task-of-application-containing-two-tasks

器件型号:MSP432E401Y

你(们)好  

我是免费 RTOS 的新手、可以使用 MSP432E401Y 学习它。

我刚刚尝试执行一个包含两个任务的代码、第一个任务在控制台上打印"Task1"、第二个任务打印"Task2"。

我构建它时没有任何错误。 当我运行它时、只有"Task1"在控制台上连续打印。 执行卡在第一个任务函数中、并且会转到第二个任务。

可能的原因是什么?如何解决?

我对这两个任务都给予了同等的优先级。

此外、如果我为第二个任务提供更高的优先级、"Task2"会继续打印。

代码如下:

void thread1 (void *p2)
{
for (;;)
{
printf ("Task1");
}
}


void thread2 (void *p)
{
for (;)
{printf ("Task2")
}
}
int main (void)
{


/*调用驱动程序初始化函数*/
Board_init();

xTaskCreate (thread1、"A"、1024、NULL、1、NULL);
xTaskCreate (thread2、"b"、1024、NULL、1、NULL);

vTaskStartScheduler();

返回(0);
} 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mritunjoy:

    您应该有某种等待条件-也许只是一个 vTaskDelay (sout_ticks);。 否则、最高任务将不会将上下文切换到优先级较低的任务。

    谢谢、

    Alexis