Part Number:CC1312R
TI大神好:
我使用collector例程,创建自己的任务,配置和主任务保持一致,两个任务中都输出自己函数名称,然而执行频率似乎不一样,主任务打印一次,次任务打印了五次,这是什么原因?
Yolande Wang:
您好,
主任务打印在次任务之后,且时间都是间隔一秒,
建议查看一下任务的优先级和时间片分配的差异,
检查任务调度的设置,是否有其他因素导致次任务更频繁地执行
,
faker wang:
Yolande Wang 说:
都是使用的默认主线程的创建参数,优先级都是1,所以我才比较奇怪
,
Yolande Wang:
优先级都是1的话那就是先创建的任务优先级高
,
faker wang:
你看我的截图,我的次级任务是在创建了主任务以后再创建的.不应该主任务进入多次,次级任务进入一次吗
,
Yolande Wang:
如果不是优先级的问题,检查看看是否是并发执行或循环调用了
,
Yolande Wang:
看下来觉得应该还是任务优先级的原因,优先级低的任务只有在优先级高的空闲时才会执行。
可以看下 guide 这一部分:https://dev.ti.com/tirex/explore/node?node=A__AGhAXIxP6gouUA7QxaW0Lg__com.ti.SIMPLELINK_CC13XX_CC26XX_SDK__BSEc4rl__LATEST
另外最好还是检查一下应用程序。
,
faker wang:
好的
,
Yolande Wang:
期待您的反馈。
,
faker wang:
我认为主任务逻辑比较多,所以执行一次的期间,会多次切换到新任务中,所以会有这种情况.
因为在不创建新任务的时候,主任务的进入频率似乎也是如此
,
Yolande Wang:
时间片的原因多次切换到新任务吗?
您可以尝试再用主线程创建一个不是 UART 的任务,看看是否也有这个情况。
或者
您把 appTaskFxn 和 uartTaskFxn 两个任务的函数体发上来分析一下。
,
faker wang:
我尝试了一下,如果将两个任务都只进行串口输出 ,在相同优先级的情况下,两个任务几乎是各自占比百分之50,基本证明了我们的猜想是对的