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.

[参考译文] CC2642R:使用 CC2642 进行基于 FreeRTOS 的开发中的 BLE 问题

Guru**** 2835910 points

Other Parts Discussed in Thread: CC2642R, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1632885/cc2642r-ble-issues-in-freertos-based-development-with-the-cc2642

器件型号: CC2642R
主题: SysConfig 中讨论的其他器件

TI 技术支持工程师大家好、
 
我们使用配置为 BLE 中央器件的 CC2642R 芯片。 将 FreeRTOS 集成到我们的工程后、我们需要以非‑Ω 连接的方式持续获取周围蓝牙设备的 RSSI。
 
但是、在程序运行一段时间后、它无法再进入 SC_EVT_ADV_REPORT 分支SimpleCentral_processAppMsg。 最终、它也无法进入SimpleCentral_scanCb回调。 无法在这两个位置触发调试断点。 其余SimpleCentral_processAppMsg函数仍正常执行。
我们当前的 BLE 参数如下:  
// Default PHY for scanning
#define DEFAULT_SCAN_PHY                        SCAN_PRIM_PHY_1M

//Default Scan type (Active/Passive)
#define DEFAULT_SCAN_TYPE                       SCAN_TYPE_PASSIVE

// Default scan interval (in 625 us ticks)
#define DEFAULT_SCAN_INTERVAL                   320

// Default scan window   (in 625 us ticks)
#define DEFAULT_SCAN_WINDOW                     160

// Default scan duration in 10 ms
#define DEFAULT_SCAN_DURATION                   100

// Advertising report fields to keep in the list
#define ADV_RPT_FIELDS                          (SCAN_ADVRPT_FLD_ADDRESS | SCAN_ADVRPT_FLD_ADDRTYPE)

// Scanner Duplicate Filter
#define SCANNER_DUPLICATE_FILTER                 SCAN_FLT_DUP_DISABLE

// TRUE to filter discovery results on desired service UUID
#define DEFAULT_DEV_DISC_BY_SVC_UUID            false
此外、我们只GapScan_enable(0, 0, 0);GAP_DEVICE_INIT_DONE_EVENTSimpleCentral_processGapMsg函数内部情况的末尾调用函数、的值autoConnect设置为 0。
 
您能否帮助分析根本原因或提供一些故障排除指导? 非常感谢。
 
此致、
 
邓俊杰

 

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

    您好、

    F2 SDK 中的 BLE5Stack 是在 TIRTOS7 上开发并广泛测试的、在迁移到 FreeRTOS 时可能会出现意外行为。 如果您的基本示例是 simple_central、我建议使用 TIRTOS7。 尽管如此、我建议 查看您如何处理事件以及如何配置 SysConfig。 当您迁移到 FreeRTOS 时、我会检查 SYS/BIOS 是否已禁用。 我还会再次检查您使用的是 Event_pend()、而不是 xTaskNotify() 或 xQueueReceive()。 我会通过 iCall_fetchMsg () 和 iCall_post () 验证您是否正确处理了 iCall 消息。 我还会再次检查您是否在建立连接后仍在扫描、它可能是在建立连接时禁用扫描、如果您正在连接、则需要重新启用。

    此致、

    1 月