esp32 idf 中的gatt_client 例程连接 ble 5.3的蓝牙设备时出现问题,无法发送数据。

duruoa
Posts: 1
Joined: Thu Jun 01, 2023 2:50 am

esp32 idf 中的gatt_client 例程连接 ble 5.3的蓝牙设备时出现问题,无法发送数据。

Postby duruoa » Thu Jun 01, 2023 3:10 am

esp32 和esp32c3 使用idf 里example 的gatt_client, 在连接 ch582 ble 5.3芯片时出现BT_APPL: service change write ccc failed的错误,log如下:
企业微信截图_16855888829123.png
企业微信截图_16855888829123.png (41.55 KiB) Viewed 685 times
。这是什么原因引起的错误?怎么解决?

ESP_zhanghaipeng
Posts: 38
Joined: Thu May 04, 2023 3:49 am

Re: esp32 idf 中的gatt_client 例程连接 ble 5.3的蓝牙设备时出现问题,无法发送数据。

Postby ESP_zhanghaipeng » Fri Jun 09, 2023 1:44 pm

问题出现的可能原因分析:

1-出现BT_APPL: service change write ccc failed的错误,表示写入 Client Characteristic Configuration Descriptor (CCCD) 没有成功,你可以打印 esp_ble_gattc_register_for_notify 的返回值看看是否成功了。
2-出现这种情况,一般是因为 server 端 ccc 的 permission 不对,检查一下 server 端的 CCC 的 permission 是否是可写的?

解决方法:
正确定义 server 端的database,例如 ccc 的permission 是"可读、可写"的、ccc 对应的 characteristic 的属性"可读、可写、通知"

如果还有问题,请打印下 server 端的 database

Who is online

Users browsing this forum: Baidu [Spider] and 32 guests