設置 | 登錄 | 註冊

作者共發了2篇帖子。

【ble_remote工程】给蓝牙设备添加Manufacturer Name String(0x2A29)属性

12樓 巨大八爪鱼 2026-1-9 18:03

如果想在收到master的Read Request/Read Blob Request后修改即将回复的Read Response/Read Blob Response的内容,就可以注册对应的回调函数r,在回调函数里修改pAttrValue指针所指RAM的内容,并且return的值只能是0。

只能修改内容pAttrValue,无法修改长度attrLen。

这两个变量都是在static const attribute_t my_Attributes[]数组里面定义的,跟回调函数的参数p无关。


读函数的固定格式:

int my_ReadCallback(void *p)
{
  // 参数p没有用
  pAttrValue[0] = xxx;
  pAttrValue[1] = xxx;
  ...
  pAttrValue[attrLen - 1] = xxx;
  return 0; // 返回值必须是0
}
巨大八爪鱼 2026-1-28 16:56

a) 如果user设置了回调读函数,执行该函数,根据该函数的返回值决定是否回复Read Response/Read Blob Response:



若返回值为1,slave不回复Read Response/Read Blob Response给master。


若返回值为其他值,slave从pAttrValue指针所指向的区域读attrLen个值用Read Response/Read Blob Response回复给master。

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張