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.

[参考译文] RTOS/CC3220MODA:多任务

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/767984/rtos-cc3220moda-multitask

器件型号:CC3220MODA

工具/软件:TI-RTOS

您好!

我的代码中有3个任务。 代码如下所示:

.

.

void* Task_1 (void* pvParameters){

/* Task_1 priority = 4*/

睡眠(20);

while (1){

GPIO_WRITE (x、1);

睡眠(3);

GPIO_WRITE (x、0);

睡眠(500);

void* Task_2 (void* pvParameters){

/* Task_2 priority = 3*/

while (1){

睡眠(30);

htpp_post ();

void* Task_3 (void* pvParameters){

/* Task_3  priority = 2*/

init_rf();/* rf 模块。 连接类型 SPI */

while (1){

if (m ==1){/*在 gpioReadCallbackFxn0 () 函数 中更新 m 值*/

buf = get_nrf_load()

UART_WRITE (buf);

M=0;

我的问题: 所有任务开始工作。 但  在3或4小时后、Task_3不起作用。 其他两个任务继续工作。任务之间没有同步(信标或 mail_box)。为什么 task_3在几小时后不工作?  

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

    您好!

    您是否曾尝试定时每个任务以确保所有任务都可调度? 此外、尝试使用我们的 ROV 工具来查看任务是否正在耗尽堆栈空间。 由于您没有使用信标或邮箱、我假设任务不共享任何内存或彼此通信。

    Jesu  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我使用过 ROV 工具,但看不到任何溢出。任务之间有几个常用的全局变量。没有,我没有尝试过计时。 我将对此(时间)进行调查,然后我将返回。 谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我还想补充的是、如果您的任务是共享存储器(全局变量)、您不会实施任何形式的相互排斥、您会使自己易受可能导致各种奇怪行为的种族状况的影响。

    Jesu