大家好,初次接触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个传感器数据上传到云端的数据流在代码中是如何实现的,我没有搞清楚,还请您给讲解一下,