嗨对话框团队
我想用我的设备周围扫描我的所有的信标,但Ican't扫描所有。
我的scaned,他们的evt_type所有设备ADV_CONN_UNDIR,但Iwant来获得设备类型为ADV_NONCONN_UNDIR。
所以,你可以帮我找出来了吗?
我的客户项目是DA1458x_DSPS_v_5.150.2.zip
/ ***************************** /
静态常量结构scan_configuration user_scan_conf = {
///操作代码。
.CODE = GAPM_SCAN_PASSIVE,
///装置的自己的地址BD源
.addr_src = GAPM_PUBLIC_ADDR,
///扫描间隔
.interval = 0x1900,
///扫描窗口大小
.window = 0x1900,
///扫描模式
.mode = GAP_GEN_DISCOVERY,
///扫描过滤策略
.filt_policy = SCAN_ALLOW_ADV_ALL,
///扫描重复的过滤策略
.filter_duplic = SCAN_FILT_DUPLIC_EN
};
无效user_on_adv_report_ind(结构gapm_adv_report_ind常量* PARAM)
{
UINT8 IDX = 0;
INT8 LEN = 0;
UINT8 report_ret [64] = { '\ 0'};
//报告调试数据
arch_printf( “扫描的设备:”);
arch_printf( “%02X%02X%02X%02X%02X%02X”,
param-> report.adv_addr.addr [5],
param-> report.adv_addr.addr [4],
param-> report.adv_addr.addr [3],
param-> report.adv_addr.addr [2],
param-> report.adv_addr.addr [1],
param-> report.adv_addr.addr [0]);
arch_printf( “\ r \ n”);
arch_printf( “副型=%d \ r \ n” 个,param-> report.evt_type);
}
/ ********************************* /
该 “param-> report.evt_type” 始终为0(ADV_CONN_UNDIR),我怎样才能获得其他evt_type广告?
结构adv_report
{
///事件类型:
/// - ADV_CONN_UNDIR:可连接无向广告
/// - ADV_CONN_DIR:可连接的定向广告
/// - ADV_DISC_UNDIR:可发现非定向广告
/// - ADV_NONCONN_UNDIR:无连接无向广告
uint8_t evt_type;
///广告地址类型:公共/随机
uint8_t adv_addr_type;
///广告地址值
结构BD_ADDR adv_addr;
在通告分组///数据长度
uint8_t DATA_LEN;
///的通告分组数据
uint8_t数据[ADV_DATA_LEN];
///广告包RSSI值
uint8_t RSSI;
};
感谢您的关注
嗨puchuan,
你不能扫描所有的广告设备事实上是因为你的设备的.mode设置为GAP_GEN_DISCOVERY,仅返回广告,在有限的或一般模式做广告字符串。你将不得不使用GAP_OBSERVER_MODE以扫描各种广告数据。
谢谢mt_dialog.
嗨对话框团队
我改变模式,问题已经解决perfectly.Thankü您的帮助
你好,
我使用相同的代码与上面GAP_OBSERVER_MODE,仍然无法得到任何非连接的广告。流量根本就没有来到进阶报告。任何其他的事情我需要的不仅仅是这些参数进行初始化其他?我使用的是app_peripheral示例项目。
提前致谢
嗨wisilica,
你得到所有其他广告迹象,但非连接的呢?
您所配置的设备的作用GAP_CENTRAL_MST或GAP_OBSERVER_SCA操作?
谢谢mt_dialog.
你好
它完美地工作。谢谢你。
嗨wisilica,
如果以上的答案是有帮助的,请注明答案接受。
谢谢mt_dialog.