3个帖子/ 0个新帖子
最后发表
zwang308
离线
最后看到:4年2个月前
主
加入:2014-07-02福音14:15
dsp核心应用程序

嗨,对话框中,

我正在开发一个使用DA14580的BLE中央设备,并以DSPS主机应用为参考。

我注意到在“gapm_adv_report_ind_handler”函数中,您根据设备是否在其广告数据中声明DSPS服务来过滤设备。

我想知道为什么if语句中的条件是¶m->report。数据[3]但不是¶m->报告。我的意思是为什么这里有个偏移量3。

如果(! memcmp (param - >报告。数据[3]、APP_DFLT_ADV_DATA APP_DFLT_ADV_DATA_LEN))

在DSPS设备应用程序中,似乎它将广告数据直接复制到缓冲区中,偏移量为0:

cmd - > info.host。adv_data_len = APP_DFLT_ADV_DATA_LEN;
memcpy (cmd - > info.host。adv_data [0], APP_DFLT_ADV_DATA cmd - > info.host.adv_data_len);

谢谢!

设备:
MHv_Dialog
离线
最后看到:2周1天前
工作人员
加入:15 2013-12-06
你好,

你好,

发布报告中发布数据的前3个字节包含标志。第一个字节是数据长度(0x02 -长度本身不计算),第二个字节是数据的类型旗帜(0x01)和第三个字节包含标志(0x06)。

当您在外设中构建广告数据包时,三个字节{0x02,0x01,0x06}被SDK自动放置——您不需要考虑它。

Flags数据类型八位描述

0 LE有限的可发现模式
1 LE通用发现模式
2不支持BR/EDR。
3同时LE和BR/EDR
4同时LE和BR/EDR相同
5 . . 7保留

设置为0x06的标志表示

LE一般发现模式&BR /功能不支持。

zwang308
离线
最后看到:4年2个月前
主
加入:2014-07-02福音14:15
嗨MHv_Dialog,

嗨MHv_Dialog,

谢谢!这对我很有帮助。