工具/软件:Code Composer Studio
你好
多角色允许 GATT 使用 simple_profile 读取/写入字符。
1、如何修改它、以便它可以发现 simple_profile 和我创建的其他一些配置文件?
2.如何使用其他配置文件读取\写入 char 以外的其他类型?
3.假设多 角色处理器 GATTMsg 中的配置文件相同、如何区分它们?
谢谢
Amit
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
你好
多角色允许 GATT 使用 simple_profile 读取/写入字符。
1、如何修改它、以便它可以发现 simple_profile 和我创建的其他一些配置文件?
2.如何使用其他配置文件读取\写入 char 以外的其他类型?
3.假设多 角色处理器 GATTMsg 中的配置文件相同、如何区分它们?
谢谢
Amit
嗨、Marie、
我有2个多角色。 在每个连接中、一个是主器件、另一个是从器件。
我添加了该服务。
1.如果我想用另一个服务替换简单服务,我需要做哪些更改?
例如 advertData[]:
我是否应该简单地将 serv UUID 更改为我的服务的 UUID?
我还应该在哪里进行此类更改?
2.如果我想 为每个连接进行广播并发现多个服务,我该如何做?
如何更改 advertData[],以便它包含2个或更多服务?
除了 GATT_DiscPrimaryServiceByUUID 函数之外、我还应该更改其他内容吗?
谢谢
Amit
Amit、您好!
除非需要、否则不必更改广播数据。 由于 simple_central 只希望使用 simple Profile 发现其他器件、因此在 SimpleCentral 扫描器件时会处理广播数据。
我不认为 multi_role 会查看发现的设备的广播数据。
如果以正确的方式添加您的服务,则中央(例如 multi_role)应该能够使用 GATT_DiscAllPrimaryServices()发现它们。
您可以尝试使用应用程序或 BLE Device Monitor 来查看您添加的服务是否显示。
2.如果您要广播此服务,则可以将其添加到广播数据的末尾(请记住更改长度):
//广播数据(最大大小= 31字节、尽管这是 //在广播时最好保持短接以节省功耗) 静态 uint8_t advertData[]= { //标志:此字段将器件设置为使用常规可发现 //模式(无限期广播)而不 是常规//可发现模式 (一次广播30秒) 0x02、//此数据 GAP_ADTYPE_FLAGS 的长度、 DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED、 //服务 UUID,通知中央设备包含哪些服务 //在此外设0x05中,//此数据 GAP_ADTYPE_16BIT 的长度,等等 //一些 UUID,但不是全部 LO_UINT16 (SIMPLEPROFILE_SERV_UUID)、 HI_UINT16 (SIMPLEPROFILE_SERV_UUID)、 LO_UINT16 (MyProfile_SERV_UUID)、 HI_UINT16 (MyProfile_SERV_UUID)、HI_UINT16 (MyProfile_SERV_UUID)、 };
如果要发现添加的服务的特性,则还必须更改此特性。 如果您查看已在 multi_role 中的代码、您会有一个配方。