完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
请问esp_ble_gattc_open()是会同时触发ESP_GATTC_CONNECT_EVT和ESP_GATTC_OPEN_EVT两个事件吗?是只有gatt层面的open,没有gap层面的connect API;但是同时有gatt层面的close,以及gap层面的disconnect对嘛?
|
|
相关推荐
1个回答
|
|
|
首先,我们来了解一下ESP_GATTC_CONNECT_EVT和ESP_GATTC_OPEN_EVT这两个事件。
1. ESP_GATTC_CONNECT_EVT:这个事件表示GATT客户端已经成功连接到GATT服务器。这个事件通常在调用esp_ble_gattc_open()函数后触发。 2. ESP_GATTC_OPEN_EVT:这个事件表示GATT客户端已经成功打开了一个GATT连接。这个事件通常在ESP_GATTC_CONNECT_EVT事件之后触发。 现在我们来回答您的问题: 1. esp_ble_gattc_open()是否会同时触发ESP_GATTC_CONNECT_EVT和ESP_GATTC_OPEN_EVT两个事件? 答:不会。当调用esp_ble_gattc_open()函数时,首先会触发ESP_GATTC_CONNECT_EVT事件,表示GATT客户端已经成功连接到GATT服务器。然后,在连接建立后,会触发ESP_GATTC_OPEN_EVT事件,表示GATT客户端已经成功打开了一个GATT连接。 2. 是否只有gatt层面的open,没有gap层面的connect API? 答:是的。在ESP BLE GATT客户端中,您需要使用esp_ble_gattc_open()函数来打开GATT连接。这个函数会处理GATT层面的连接和打开操作。而对于GAP层面的连接,ESP BLE已经为您处理了,您不需要手动调用GAP层面的connect API。 3. 是否同时有gatt层面的close,以及gap层面的disconnect? 答:是的。在ESP BLE GATT客户端中,您可以使用esp_ble_gattc_close()函数来关闭GATT连接。这个函数会处理GATT层面的关闭操作。同时,ESP BLE也会处理GAP层面的disconnect操作,您不需要手动调用GAP层面的disconnect API。 总结一下,当您调用esp_ble_gattc_open()函数时,会先触发ESP_GATTC_CONNECT_EVT事件,然后触发ESP_GATTC_OPEN_EVT事件。在ESP BLE GATT客户端中,您需要使用esp_ble_gattc_open()和esp_ble_gattc_close()函数来处理GATT层面的连接和关闭操作,而GAP层面的连接和断开操作由ESP BLE自动处理。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1250浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2330浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:43 , Processed in 1.998438 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
371
