esp32 idf 中的gatt_client 例程连接 ble 5.3的蓝牙设备时出现问题,无法发送数据。
esp32 idf 中的gatt_client 例程连接 ble 5.3的蓝牙设备时出现问题,无法发送数据。
esp32 和esp32c3 使用idf 里example 的gatt_client, 在连接 ch582 ble 5.3芯片时出现BT_APPL: service change write ccc failed的错误,log如下:
。这是什么原因引起的错误?怎么解决?-
- Posts: 41
- Joined: Thu May 04, 2023 3:49 am
Re: esp32 idf 中的gatt_client 例程连接 ble 5.3的蓝牙设备时出现问题,无法发送数据。
问题出现的可能原因分析:
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
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: No registered users and 89 guests