TI中文支持网
TI专业的中文技术问题搜集分享网站

TI RTOS 使用信号量调度任务出错

大家好,初次接触CC3200,我有个问题想请教一下。

我在程序中创建了三个任务,实现电脑和cc3200 launch pad的数据通信,通过WiFi,采用TCP协议。我直接在 getting_started_with_wlan_ap 例程上修改,新建了一个receive 任务。本来是打算建立TCP连接后post 一个信号量来启动 receive 任务。大致框架如下:

main()

{

     lRetVal = VStartSimpleLinkSpawnTask(SPAWN_TASK_PRIORITY);

    

}

task1()

{

}

task2()

{

  osi_SyncObjSignal(pStartReceive);

  osi_Sleep(100);

}

receive()

{

while( osi_SyncObjWait(pStartReceive,1000) != 0)

{

sleep(100);

}

message(“begin”);

}

其中task1优先级为9,task2为1,receive为3。可是运行时程序执行完task1,直接进入receive,然后显示begin,然后程序自动跳到exit.c。就结束了。我想知道这个信号量用法到底是什么样的,任务又是怎样调度的?

希望得到大家的帮助。不胜感激!

Feng Bai:

更正一下,task1就是simplelink任务,也没有执行,超级终端上直接显示begin。

Yonghua Pan:

回复 Feng Bai:

建议你参考例程idle_profile, 里面有TASK间通信的例子。

Feng Bai:

回复 Yonghua Pan:

你好!

         请问有没有任务之间使用信号量通信的例子?谢谢!

Kun Li10:

回复 Terry Han:

您好!看到您解说这个 TIDC-BLE-TO-WIFI-IOT-GATEWAY  ,我要在这块板子上实现将sensortag的九轴传感器数据上传到云端,但是对于这块板子已经有的4个传感器数据上传到云端的数据流在代码中是如何实现的,我没有搞清楚,还请您给讲解一下,

赞(0)
未经允许不得转载:TI中文支持网 » TI RTOS 使用信号量调度任务出错
分享到: 更多 (0)