From 3f12c83014e1fc0d258dc5fb93ad61a6caa0ee22 Mon Sep 17 00:00:00 2001 From: OPTOC <9159397+optoc@user.noreply.gitee.com> Date: Tue, 16 Sep 2025 18:50:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BF=AE=E6=94=B9UUID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data_port/ble_spp/ble_spp_server.c | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/app/drivers/data_port/ble_spp/ble_spp_server.c b/app/drivers/data_port/ble_spp/ble_spp_server.c index b6a87fa..bf10875 100644 --- a/app/drivers/data_port/ble_spp/ble_spp_server.c +++ b/app/drivers/data_port/ble_spp/ble_spp_server.c @@ -61,13 +61,23 @@ static struct #define ESP_SPP_APP_ID 0x56 #define SPP_SVC_INST_ID 0 +// /// SPP Service +// static const uint16_t spp_service_uuid = 0xABF0; +// /// Characteristic UUID +// #define ESP_GATT_UUID_SPP_DATA_RECEIVE 0xABF1 // 透传数据接收 +// #define ESP_GATT_UUID_SPP_DATA_NOTIFY 0xABF2 // 透传数据发送 +// #define ESP_GATT_UUID_SPP_COMMAND_RECEIVE 0xABF3 // 命令接收 +// #define ESP_GATT_UUID_SPP_COMMAND_NOTIFY 0xABF4 // 命令响应的返回。 + /// SPP Service -static const uint16_t spp_service_uuid = 0xABF0; +static const uint8_t spp_service_uuid[16] = {0x6E,0x40,0x00,0x01,0xB5,0xA3,0xF3,0x93,0xE0,0xA9,0xE5,0x0E,0x24,0xDC,0xCA,0x9E}; /// Characteristic UUID -#define ESP_GATT_UUID_SPP_DATA_RECEIVE 0xABF1 // 透传数据接收 -#define ESP_GATT_UUID_SPP_DATA_NOTIFY 0xABF2 // 透传数据发送 -#define ESP_GATT_UUID_SPP_COMMAND_RECEIVE 0xABF3 // 命令接收 -#define ESP_GATT_UUID_SPP_COMMAND_NOTIFY 0xABF4 // 命令响应的返回。 +#define ESP_GATT_UUID_SPP_DATA_RECEIVE {0x6E,0x40,0x00,0x03,0xB5,0xA3,0xF3,0x93,0xE0,0xA9,0xE5,0x0E,0x24,0xDC,0xCA,0x9E} // 透传数据接收 +#define ESP_GATT_UUID_SPP_DATA_NOTIFY {0x6E,0x40,0x00,0x02,0xB5,0xA3,0xF3,0x93,0xE0,0xA9,0xE5,0x0E,0x24,0xDC,0xCA,0x9E} // 透传数据发送 + +// static const int16_t spp_service_cmd_uuid = 0xABF0; +#define ESP_GATT_UUID_SPP_COMMAND_RECEIVE 0xABF1// 命令接收 +#define ESP_GATT_UUID_SPP_COMMAND_NOTIFY 0xABF2// 命令响应的返回。 #define ADV_CONFIG_FLAG (1 << 0) #define SCAN_RSP_CONFIG_FLAG (1 << 1) @@ -213,11 +223,11 @@ static const uint8_t char_prop_read_write_notify = ESP_GATT_CHAR_PROP_BIT_READ | #endif /// SPP Service - data receive characteristic, read&write without response -static const uint16_t spp_data_receive_uuid = ESP_GATT_UUID_SPP_DATA_RECEIVE; +static const uint8_t spp_data_receive_uuid[16] = ESP_GATT_UUID_SPP_DATA_RECEIVE; static const uint8_t spp_data_receive_val[20] = {0x00}; /// SPP Service - data notify characteristic, notify&read -static const uint16_t spp_data_notify_uuid = ESP_GATT_UUID_SPP_DATA_NOTIFY; +static const uint8_t spp_data_notify_uuid[16] = ESP_GATT_UUID_SPP_DATA_NOTIFY; static const uint8_t spp_data_notify_val[20] = {0x00}; static const uint8_t spp_data_notify_ccc[2] = {0x00, 0x00}; @@ -251,7 +261,7 @@ static esp_gatts_attr_db_t const spp_gatt_db[SPP_IDX_NB] = { // SPP - data receive characteristic Value [SPP_IDX_SPP_DATA_RECV_VAL] = - {{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_16, (uint8_t *)&spp_data_receive_uuid, ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE, // 特征值value的UUID + {{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_128, (uint8_t *)spp_data_receive_uuid, ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE, // 特征值value的UUID SPP_DATA_MAX_LEN, sizeof(spp_data_receive_val), (uint8_t *)spp_data_receive_val}}, // 对应的变量 // SPP - data notify characteristic Declaration @@ -261,7 +271,7 @@ static esp_gatts_attr_db_t const spp_gatt_db[SPP_IDX_NB] = { // SPP - data notify characteristic Value [SPP_IDX_SPP_DATA_NTY_VAL] = - {{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_16, (uint8_t *)&spp_data_notify_uuid, ESP_GATT_PERM_READ, // 特征值声明的类型 0X2803 + {{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_128, (uint8_t *)spp_data_notify_uuid, ESP_GATT_PERM_READ, // 特征值声明的类型 0X2803 SPP_DATA_MAX_LEN, sizeof(spp_data_notify_val), (uint8_t *)spp_data_notify_val}}, // 对应的变量 // SPP - data notify characteristic - Client Characteristic Configuration Descriptor @@ -317,7 +327,7 @@ static uint8_t find_char_and_desr_index(uint16_t handle) { if (handle == spp_handle_table[i]) { - return i; + return (uint8_t)i; } }