CC3200的多线程和多任务是一回事么?
我看cc3200的sdk的demo里面,都有这两句话
lRetVal = VStartSimpleLinkSpawnTask(SPAWN_TASK_PRIORITY);
lRetVal = osi_TaskCreate( WlanAPMode, \
(const signed char*)"wireless LAN in AP mode", \
OSI_STACK_SIZE, NULL, 1, NULL ); (这里假设这个任务函数是WlanAPMode了)
1、那么这两句话具体是什么个意思?
2、是不是一个工程还可以再调用一个osi_TaskCreate函数创建另外一个任务?
3、这两个任务该理解为一个线程里的任务队列(里面有两个任务,串行运行),还是理解为相当于两个线程(并行运行)。
4、我想创建两个线程并行运行,该怎么办,再调用一个osi_TaskCreate?还是怎么办?
请各位大神指点一下,非常感谢。
1、启动SimpleLink NWP处理器,也就是将wifi任务启动,第二句话是启动WLANAPMode的任务;
2、是的,在一个工程中是可以再调用一个osi_TaskCreate函数创建另外一个任务。
3、如果是在M4内核中的一个线程里的任务队列---里面有两个任务这两个任务本质上是串行运行运行的,但是在NWP内核是独立于M4内核运行wifi协议栈任务的。
4、在一个M4内核中无法进行并行任务的同时运行!只能通过优先级的调用进行任务之间的切换执行任务。
那我想开个双线程同时运行两种操作是不是就没戏了,我想让它跟PC机的多线程一样,分时间片运行不行么,真的没什么好办法了么?
它和PC机不太一样,是基于task的,没有线程。