This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LP-EM-CC2340R5:CC2340R5 上具有连续扫描、UART + BLE 数据流功能的 iCall_TIMEOUT

Guru**** 2376610 points
Other Parts Discussed in Thread: CC2340R5
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1533925/lp-em-cc2340r5-icall_timeout-on-cc2340r5-with-continuous-scanning-uart-ble-data-streaming

器件型号:LP-EM-CC2340R5
主题中讨论的其他器件: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。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vignesh:

    感谢您联系我们!

    您设置的 PDU 的最大数量是多少? 要进行检查、请转至 syscfg -> BLE -> General Configurations。 增加这个数字是否会阻止问题的发生?

    如需 BLE 和 UART 的示例、请在 GitHub 上查看我们的示例:https://github.com/TexasInstruments-Sandbox/ble_examples/tree/simplelink_low_power_f3_sdk-8.40/examples/rtos/LP_EM_CC2340R5/ble5stack/data_stream_UART_over_BLE

    我希望这对您有所帮助!

    此致、

    Tarek D

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tarek:

    感谢您联系我们!

    我尝试了  设置为 10,50,100,200,255 的最大 PDU 数。 但 增加这个数字并不能阻止这个问题。

    可以提供一个示例/代码、说明如何创建专用 UART 任务、并确保其已正确注册到 iCall、以减轻 UART 操作并避免阻塞主应用或 BLE 栈任务?

    谢谢、

    Vignesh。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我已尝试将 CC2340R5 用于 basic_ble_oad_onchip 和 basic_ble 外设和观察员工程、但问题未得到解决。 后来 我尝试使用 SDK 中的数据流项目。

    如需 BLE 和 UART 的示例、请在 GitHub 上查看我们的示例:https://github.com/TexasInstruments-Sandbox/ble_examples/tree/simplelink_low_power_f3_sdk-8.40/examples/rtos/LP_EM_CC2340R5/ble5stack/data_stream_UART_over_BLE

    以观测器角色连续扫描、以监测通过 UART 打印的 TPMS 传感器数据(32 字节)。 使用具有 Read + Notify + Write 属性的自定义特性实现同步 BLE UART 流式传输。 该器件使用每 500ms 向中央器件(移动设备)发送一次 21 字节的数据

    dss_sendNotification() 用于通知、移动设备每 1 秒通过写入发送 160 字节、设备通过 UART 打印。 但仍然面临同样的问题。
    我想了解为什么即使堆和任务栈使用看起来正常、器件最终进入 ICALL_TIMEOUT、以及如何在运行持续扫描、UART 和 BLE 数据传输的同时正确解决或缓解此问题。
    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    让我们通过电子邮件继续讨论!

    此致、

    Tarek D