回答

收藏

【Telink-泰凌微电子 B91通用开发套件】+ 3.浅谈广播数据

泰凌微电子 泰凌微电子 1007 人阅读 | 0 人回复 | 2022-11-08

本帖最后由 az158 于 2022-11-9 22:51 编辑

广播是ble蓝牙中很重要的一部分,今天就拿泰凌微电子B91这个套件,说一下ble广播数据的内容。
先看看默认代码的效果


用蓝牙扫描可以看到下面的效果,可以看到具体数据里面有两个 Complete Local Name 数据,在这里前面一个是在广播数据包里面,而第二个是在扫描响应包里面。


可以对代码进行修改,注释掉扫描响应包的数据。


可以看到扫描到的名称发生了改变,而且具体数据里面只有一个 Complete Local Name 数据


继续看一下具体的数据情况。
  1. <font size="4">/**
  2. * @brief        Adv Packet data
  3. */
  4. const u8        tbl_advData[] = {
  5.          0x05, 0x09, 'e', 'H', 'I', 'D',
  6.          0x02, 0x01, 0x05,                                                         // BLE limited discoverable mode and BR/EDR not supported
  7.          0x03, 0x19, 0x80, 0x01,                                         // 384, Generic Remote Control, Generic category
  8.          0x05, 0x02, 0x12, 0x18, 0x0F, 0x18,                // incomplete list of service class UUIDs (0x1812, 0x180F)
  9. };</font>
复制代码

比如上面的数据
0x05, 0x09, 'e', 'H', 'I', 'D',
其中0x05是指代这一条的长度,向后一共五位
0x09是这一段的类型,这里是指扫描到的名称
'e', 'H', 'I', 'D'这些就是载荷数据了,这里就是蓝牙的名称eHID


试着修改一下
  1. <font size="4">const u8        tbl_advData[] = {
  2.          0x04, 0x09, 'a', 'b', 'c',
  3.          0x02, 0x01, 0x05,                                                         // BLE limited discoverable mode and BR/EDR not supported
  4.          0x03, 0x19, 0x80, 0x01,                                         // 384, Generic Remote Control, Generic category
  5.          0x05, 0x02, 0x12, 0x18, 0x0F, 0x18,                // incomplete list of service class UUIDs (0x1812, 0x180F)
  6. };</font>
复制代码

下载到芯片看看,蓝牙名称已经改变了













分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条