在自定义 BLE 服务器(外围角色)上工作时,我在将工作源从 Nucleo 项目 (
STM32WB55) 导出到自定义板 (STM32WB55) 项目时遇到了问题。
Nucleo 上一切正常:广告、连接、双向
通信等……
在自定义板子上,BLE master 看到了 adver
tissing slave,但是没有办法连接到它。连接失败!
Master端使用了2个软件:ST BLE Toolbox和nRF Connect。两者都给出相同的结果。
nRF 连接显示附加日志错误 133(0x85):GATT 错误。
定制板不使用 LSE 晶振。而是使用 HSE。我遵循此 URL,但在 BLE 配置中找不到 CFG_BLE_LSE_SOURCE。
我预料到这一点会有麻烦,并在知识库上找到了几张票,但没有人有解决办法:
定制板上无法进行 uart 调试。有没有办法通过 STLink/JTAG 使用自定义服务器应用程序调试跟踪?
在定制板上验证了以下项目:
- 主时钟是预期时钟,已在 MCO 引脚上验证。
- 应用程序心跳是预期的。系统正常启动以及 BLE 完整固件堆栈。
- 通过 STlink/JTAG 进行调试。
- RTC_WKUP_IRQHandler 被验证为每 100 毫秒唤醒一次(通过切换引脚)。
- BLE 主机正确接收广告名称、设备类型、tx 功率级别和标志。
- 来自主机的连接和断开连接请求触发从机通过自定义应用程序上的 Custom_APP_Notification CUSTOM_CONN_HANDLE_EVT 和 CUSTOM_DISCON_HANDLE_EVT 案例。这看起来像是在 master 上触发了超时,没有正确接收连接请求。
你有什么线索可以帮助调试情况吗?