工具与软件:
你好
我将基于多角色示例开发一个项目。 我的问题是如何正确设置优先级。
假设我有三个任务。
1. ICall 任务。 我假设此任务负责与无线电信道设备进行交互。 其优先级为5。
2.多角色任务。 这是一项处理来自射频堆栈的传入事件的用户任务。 也就是说、它从服务中读取数据、发送通知等 其优先级为4。
3.协议任务。 此任务向多角色任务接收/发送处理后的数据、以便与另一个器件通信。 其优先级目前为7 (最高)。
如果由于某种原因任务3中的数据处理需要很长时间、则由于高优先级、将不会调用任务1 (ICall)、则不会发送活动的连接确认数据包。 因此、另一方可以单方面终止连接。
我假设由于高优先级3、在这段期间、连接将断开、任务1甚至不知道断开连接的情况。
设置任务优先级的规则是什么?
在以任何方式与射频堆栈交互的任务中、ICall 任务是否应该具有最高优先级?
是否可以增加 ti_ble _config .h 文件中的某些参数、该参数将告诉两侧等待足够长的时间而不交换数据包(例如5-10秒)并且不断开连接。