找回密码
 立即注册

微信扫码登录

查看: 126|回复: 4

[BLE SDK] 使用ble芯片作为central时,如何对广播名称和广播uuid进行过滤,而不是通过mac过滤?

[复制链接]

8

主题

16

回帖

88

积分

不屈白银

积分
88
发表于 3 天前 | 显示全部楼层 |阅读模式 来自 广东深圳
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: tc321x
SDK及版本: 4.0.2.2
请问使用ble芯片作为central时,对于想要连接的从设备,如何对广播名称和广播uuid进行过滤,而不是通过mac过滤?



能否提供下api接口;和api接口对应h文件;

谢谢;

0

主题

15

回帖

78

积分

不屈白银

积分
78
发表于 3 天前 | 显示全部楼层 来自 上海
你好,

如果需要过滤广播名称和广播uuid需要解析结构体event_adv_report_t中的data,广播名称和广播uuid都位于此data中

具体的data格式取决于对方peripheral的data格式,telink demo中的tbl_advData数组中的相关格式亦可参考

8

主题

16

回帖

88

积分

不屈白银

积分
88
 楼主| 发表于 3 天前 | 显示全部楼层 来自 广东深圳
TL_YWY 发表于 2025-11-26 15:36
你好,

如果需要过滤广播名称和广播uuid需要解析结构体event_adv_report_t中的data,广播名称和广播uuid都 ...

你好,感谢回复;
这个数组中只有mac有6个字节足够存储mac addr,剩下的几个变量只有1个字节,也不是指针,既不够存储uuid uint16_t,也不够存储广播名称十几个字节的字符串,
这个结构体显然不对呀,一点也不符合从机广播包的格式;

如果我用mac地址可以用这个结构体,可是我现在想用uuid和广播名称的话,这个结构体显然不对呀?

  1. /**
  2. *  @brief  Event Parameters for "7.7.65.2 LE Advertising Report event"
  3. */
  4. typedef struct {
  5.         u8        subcode;
  6.         u8        nreport;
  7.         u8        event_type;
  8.         u8        adr_type;
  9.         u8        mac[6];
  10.         u8        len;
  11.         u8        data[1];
  12. } event_adv_report_t;
复制代码

2

主题

1

回帖

24

积分

英勇黄铜

积分
24
发表于 3 天前 | 显示全部楼层 来自 广东深圳
TL_YWY 发表于 2025-11-26 15:36
你好,

如果需要过滤广播名称和广播uuid需要解析结构体event_adv_report_t中的data,广播名称和广播uuid都 ...

老铁,期待回复
谢谢回复和支持

0

主题

15

回帖

78

积分

不屈白银

积分
78
发表于 3 天前 | 显示全部楼层 来自 上海
本帖最后由 TL_YWY 于 2025-11-26 20:12 编辑

老铁,

这个结构体中的data[1]不是你看到的只有一位,底层会分配内存去放相应的data
把这个data打印出来看看就明白啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 |沪公网安备31011502403548号 )

GMT+8, 2025-11-29 00:46 , Processed in 0.090544 second(s), 21 queries .

Powered by Discuz! 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表