NRF52832如何给新建的characteristic创建UUID
时间: 2024-05-12 16:20:28 浏览: 139
UUID生成方法
1. 在 Nordic SDK 中找到 nrf_ble_gatt.h 头文件,找到以下代码段:
```
typedef struct
{
uint16_t uuid; /**< UUID type, see @ref BLE_UUID_TYPES. */
union
{
uint8_t uuid128[16]; /**< 128-bit UUID value. */
uint16_t uuid16; /**< 16-bit UUID value. */
} uuid; /**< UUID value. */
} ble_uuid_t;
```
2. 根据需要创建一个新的 UUID,UUID 的值可以是 16 位或 128 位。可以使用在线 UUID 生成器生成新的 UUID。
3. 根据需要设置 characteristic 的 UUID 类型,可以是 16 位或 128 位。
4. 使用上面的代码段中的 ble_uuid_t 结构体,将新 UUID 的值设置为 uuid 成员的值,并将 UUID 类型设置为 uuid_type。
5. 使用新的 UUID 创建新的 characteristic。可以使用以下代码示例:
```
ble_uuid_t char_uuid;
char_uuid.uuid_type = BLE_UUID_TYPE_BLE; //设置 UUID 类型
char_uuid.uuid.uuid16 = 0x1234; //设置 UUID 值
err_code = sd_ble_gatts_characteristic_add(p_service->service_handle,
&char_md,
&attr_char_value,
&p_service->char_handles);
```
其中,char_md 是包含 characteristic 属性的结构体,attr_char_value 是包含 characteristic 值的结构体,p_service->service_handle 是服务的句柄,p_service->char_handles 是 characteristic 的句柄。
阅读全文