CH585蓝牙HID程序增加自定义服务

一、准备工作

1、分别打开HID_Keyboard例程、Peripheral例程,其中Peripheral例程中的自定义服务(位于gattprofile.c及gattprofile.h),将两份文件移植到HID_Keyboard中

imageimage

 2、注册服务

image

 

image

 

3、测试特征值3写入数据,从机正常接收

image

 

二、改写部分

1、DIY部分,自定义UUID,部分主服务UUID已被蓝牙联盟组织定义为标准服务UUID,不可与其冲突,具体有哪些可以上网搜索查看;

image

image

 

2、DIY部分,增加一个特征值:

①定义特征值权限,可读可写、支持通知

②如有通知属性,那属性表中客户端特性配置必须添加,即CCCD(客户端特性配置描述符),用于主机向从机开启通知权限

③定义特征值UUID,例程写为0xFABC

④属性表服务编写,结构如下:

  1. 特征声明 (声明特征的存在和基本属性)
  2. 特征值 (存储实际数据)
  3. 特征描述符 (如 CCCD,用于控制通知等)
  4. 其他描述符 (可选,提供额外功能或信息)

⑤simpleProfile_ReadAttrCB和simpleProfile_WriteAttrCB回调中添加对应特征值处理

imageimage

 

image

image

 

image

 

image

 

三、测试部分

1、测试主机读数据功能

uint8_t charValue6[SIMPLEPROFILE_CHAR6_LEN] = {0x01, 0x02, 0x03, 0x04, 0x05};
SimpleProfile_SetParameter(SIMPLEPROFILE_CHAR6, SIMPLEPROFILE_CHAR6_LEN, charValue6);

 

image

 

image

 

2、测试主机写入功能

image

 

3、测试从机通知功能

image

 

image

 

image

 

image

 

image

 

posted @ 2025-10-13 15:30  oTvTo  阅读(39)  评论(0)    收藏  举报