相关环境
1.硬件部分使用的是:ESP32-C3-DevKitM-1,搭载ESP32-C3-MINI-1模组
2.软件部分,IDF 的具体版本是:V4.3.1(release version)
3.开发环境:操作系统为Windows 7;IDE,为VS Code
问题描述
我想在esp-idf\examples\bluetooth\bluedroid\ble\gatt_server_service_table的DEMO上修改16bit 的私有服务UUID为128bit的UUID,但改完后烧录的串口信息会报错,ble调试软件可以连接上蓝牙但是看不到该服务,我想知道是否有修改128bit UUID的相关DEMO。
使用的手机型号为小米9,蓝牙助手软件为 BLE调试宝
在触发BTA_GATTS_API_START_SRVC_EVT时,报错的函数的函数为esp-idf\components\bt\host\bluedroid\bta\gatt\bta_gatts_main.c的bta_gatts_hdl_event函数
附上我修改的C源文件,修改代码图片,Log信息和报错的函数图片,没有修改menuconfig
谢谢!
修改的代码部分(另附上修改的源文件):
1.
/* Service */
//static const uint16_t GATTS_SERVICE_UUID_TEST = 0x00FF;
static const uint8_t GATTS_SERVICE_UUID_TEST[16] = {0x23,0xD1,0xBC,0xEA,0x5F,0x78,0x23,0x15,0xDE,0xEF,0x12,0x12,0x23,0x15,0x00,0x00};
2.
/* Full Database Description - Used to add attributes into the database */
static const esp_gatts_attr_db_t gatt_db[HRS_IDX_NB] =
{
// Service Declaration
[IDX_SVC] =
{{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_128, (uint8_t *)&primary_service_uuid, ESP_GATT_PERM_READ,
sizeof(GATTS_SERVICE_UUID_TEST), sizeof(GATTS_SERVICE_UUID_TEST), (uint8_t *)GATTS_SERVICE_UUID_TEST}},
......
}
ESP32-C3蓝牙:gatt_server_service_table的私有服务修改为128bit UUID的问题
ESP32-C3蓝牙:gatt_server_service_table的私有服务修改为128bit UUID的问题
- Attachments
-
- 出错函数.png (57.34 KiB) Viewed 3464 times
-
- Log信息.png (189.53 KiB) Viewed 3464 times
-
- gatts_table_creat_demo.c
- (24.92 KiB) Downloaded 863 times
Re: ESP32-C3蓝牙:gatt_server_service_table的私有服务修改为128bit UUID的问题
你上述修改中
ESP_UUID_LEN_128 应修改回 ESP_UUID_LEN_16, 这里 ESP_UUID_LEN_16 是修饰 primary_service_uuid 的,而 primary_service_uuid 代码中来看不能使用 ESP_UUID_LEN_128 的,否则无法执行到 BTA_GATTS_CreateService() 这个函数,那也就是后面提示 服务未能创建
而后面
则是定义服务的UUID 的, 可以是你上述所定义的 128 bit 的 GATTS_SERVICE_UUID_TEST
Code: Select all
{{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_128, (uint8_t *)&primary_service_uuid, ESP_GATT_PERM_READ,
sizeof(GATTS_SERVICE_UUID_TEST), sizeof(GATTS_SERVICE_UUID_TEST), (uint8_t *)GATTS_SERVICE_UUID_TEST}},
而后面
Code: Select all
sizeof(GATTS_SERVICE_UUID_TEST), sizeof(GATTS_SERVICE_UUID_TEST), (uint8_t *)GATTS_SERVICE_UUID_TEST}
Who is online
Users browsing this forum: No registered users and 87 guests