乐鑫技术交流
直播中

王利祥

8年用户 1520经验值
私信 关注
[问答]

BLE-Mesh的ESP32C3项目运行时报错是什么原因导致的?

将基于ESP32的BLE-Mesh工程移植到ESP32C3上,ESP32C3运行时报以下错误:
[0;31mE (22190) BT_HCI: CC evt: op=0x2008, status=0xc[0m[0;31mE (22190) BLE_MESH: set_adv_data, Invalid status 12[0m[0;31mE (22190) BLE_MESH: Failed to set adv data[0m[0;31mE (22190) BLE_MESH: Start advertising failed: err -1[0m[0;33mW (22200) BLE_MESH: Failed to send adv packet[0m
原工程基于Eclipse ESP-IDF Tool插件提供的ESP BLE Mesh Node demo修改。
原工程在ESP32上运行良好。
使用ESP-IDF V4.3.1版本编译,开发环境使用Eclipse;
操作系统为win10 21H1
                                

回帖(1)

王璐

2024-6-12 16:28:05
根据您提供的错误信息,我们可以分析以下几个可能的原因:

1. **硬件差异**:ESP32C3与ESP32在硬件上存在一定差异,可能导致某些功能在ESP32C3上无法正常工作。请确保您的项目代码已经针对ESP32C3进行了适配。

2. **BLE-Mesh库版本**:您使用的ESP-IDF版本是V4.3.1,可能与原工程中的BLE-Mesh库版本不兼容。请检查原工程使用的BLE-Mesh库版本,并尝试升级或降级您的ESP-IDF版本以匹配。

3. **广告数据设置问题**:错误信息中提到“set_adv_data, Invalid status 12”,这可能意味着在设置广告数据时遇到了问题。请检查您的代码中设置广告数据的部分,确保数据格式和长度正确。

4. **广播启动失败**:错误信息中提到“Start advertising failed: err -1”,这表明广播启动过程中遇到了问题。这可能与硬件、软件或配置有关。请检查您的代码中启动广播的部分,确保相关配置正确。

5. **广播数据发送失败**:错误信息中提到“Failed to send adv packet”,这可能意味着在发送广播数据时遇到了问题。请检查您的代码中发送广播数据的部分,确保数据发送逻辑正确。

为了解决这个问题,您可以尝试以下步骤:

1. 确认您的项目代码已经针对ESP32C3进行了适配,包括硬件差异和API差异。

2. 检查并更新您的ESP-IDF版本,以匹配原工程中的BLE-Mesh库版本。

3. 检查设置广告数据的代码部分,确保数据格式和长度正确。

4. 检查启动广播的代码部分,确保相关配置正确。

5. 检查发送广播数据的代码部分,确保数据发送逻辑正确。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分