主题中讨论的其他器件:CC2340R5
工具/软件:
您好、
我们目前正在将 CC2340R5 与 basic_ble_oad_onchip 外设和观测器项目结合使用。
以观测器角色连续扫描、以监测通过 UART 打印的 TPMS 传感器数据(32 字节)。 使用具有读取+通知+写入属性的自定义特性实现同步 BLE 流式传输。该器件使用 GATTServo UART.CharCfg () 每 500ms 向中央器件(移动设备)发送 21 字节数据以进行通知、而移动设备每 1 秒通过写入发送 160 字节数据、该数据通过 App_Process 打印。
一段时间后、器件进入 ICALL_TIMEOUT 故障、即使任务栈大小看起来足够并且堆使用量保持在限制范围内(通过 ROV 和调试进行验证)也是如此。
下面我附上了调试镜像以供您参考:
我想了解为什么即使堆和任务栈使用看起来正常、器件最终进入 ICALL_TIMEOUT、以及如何在运行持续扫描、UART 和 BLE 数据传输的同时正确解决或缓解此问题。
可以提供一个示例/代码、说明如何创建专用 UART 任务、并确保其已正确注册到 iCall、以减轻 UART 操作并避免阻塞主应用或 BLE 栈任务?
谢谢、
Vignesh。