正常接收都正常。 但如果两个广播包间隔很小后面的就会收不到。 比如下图,用安卓高度软件能接收到 两个包显示在一起了。(ADVDATA 最长31BYTE),但579无论是RF_PHY模式或OBSERVER模式都只能收到前面的包。用串口打印高度后面的包没收到过。
查看: 5451
回复: 1
579 部分情况收不到广播数据
tongxinmao.com
发表于: 2020-09-14 12:02:00
热门产品 :
CH641: PD及无线充电专用MCU
使用最新的SDK,上图实际上是把广播包,和扫描回复包合并显示的,
而在一些soc上的ble协议栈上,广播包和扫描回复包是分别各进一次 事件的,换句话说,他可能会先给你事件,是广播包,然后紧接着又来一次该事件是扫描回复包,
当下面这个pEvent->deviceInfo.eventType 等于4的时候,这时候是扫描回复包
PRINT("t:%02x,L:%d\r\n",pEvent->deviceInfo.eventType,pEvent->deviceInfo.dataLen);
SDK的example中,默认对广播包进行了过滤,就是在同一个扫描周期里面,如果重复的mac地址,重复的广播类型,协议栈会直接丢弃,
可以用
GAP_SetParamValue(TGAP_FILTER_ADV_REPORTS,FALSE);
去关掉
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录