BLE的Peripheral例程,simpleProfile_ReadAttrCB()的理解?

1. 下面的理解对吗?

在一个连接事件中,中心设备发送了读取请求,从机收到后,调用simpleProfile_ReadAttrCB(),以更新指定的特性数值。从机响应中心设备的读取请求。

按协议说,读取请求包和响应包的间隔是150us。请问,是在这个150us之内,执行了simpleProfile_ReadAttrCB()吗?即响应包中的数据是新的(本次连接事件更新的),还是上次调用simpleProfile_ReadAttrCB()更新的?


2. 在simpleProfile_ReadAttrCB()的注释中有下面的话:

// No need for "GATT_SERVICE_UUID" or "GATT_CLIENT_CHAR_CFG_UUID" cases;

// gattserverapp handles those reads

请问,除了上述2个UUID,是不是charUserDescUUID也没有公开,或公开在了哪里?因为使用APP,是能获取charUserDescUUID对应的字符串的,如"Characteristic 2"。


主机发送read请求,从机确实会进simpleProfile_ReadAttrCB()回调,但是只是将里面的值读出来,write才是更新里面的value。

charUserDescUUID这类uuid都是蓝牙协议定义的,

emobile_2022-09-30_10-02-02.png

读只会读里面预存的配置信息,

用户去使用读写功能应该是使用自定义uuid的如FFE1.


只有登录才能回复,可以选择微信账号登录