你好,
我正在尝试参考设计“DA14580\U 3.40.6”。我要ibeacon同时发送通知数据和扫描响应数据。
所以我在参考资料上做了一点改变:
在“app\u dialog\u beacon\u proj.c”中
在“app\u adv\u func”函数中:
...
//扫描响应数据
#如果(NVDS\U支持)
//这行是我添加的,以便从NVDS.C读取响应数据
命令->info.host.scan_rsp_data_len =NVDS长度应用程序扫描响应数据//作者:张201501
if(nvds)\u get(nvds\u TAG\u APP\u BLE\u SCAN\u RESP\u DATA,&cmd->info.host.scan_rsp_data_len,
&命令->info.host.scan_rsp_data[0]) != NVDS(正常)
#endif//(支持NVDS\U)
...
在调试模式下,我可以看到“cmd”中的内容。
命令->info.host.scan_rsp_data_len 是意料之中的。
命令->info.host.scan_rsp_data 也在意料之中。
但当程序运行时,这些没有扫描响应数据,甚至这些没有adv数据发出!
你好,
-要更改扫描响应数据,请查看应用程序对话框\u beacon\u proj.h中的。您将发现:
#define APP\u SCNRSP\u DATA“\x02\xFF\x00”
-为了在KEIL的DA14580中运行代码,必须执行以下步骤:
1) 按“调试”按钮
2) 按RUN
3) 再次按下调试按钮
完成后,您将看到您的设备广告。
当做,
对话小组。
感谢glu对话。
问题解决了。
//扫描响应数据
#如果(NVDS\U支持)
if(app\u advanced\u mode==GAPM\u ADV\u UNDIRECT)//如果没有它,beacon甚至不会播发。
{cmd->info.host.scan_rsp_data_len =NVDS\u LEN\u APP\u BLE\u SCAN\u RESP\u DATA;}
if(nvds)\u get(nvds\u TAG\u APP\u BLE\u SCAN\u RESP\u DATA,&cmd->info.host.scan_rsp_data_len,
&命令->info.host.scan_rsp_data[0]) != NVDS(正常)
问题解决了。
//扫描响应数据
#如果(NVDS\U支持)
if(app\u advanced\u mode==GAPM\u ADV\u UNDIRECT)//如果没有它,beacon甚至不会播发。
{cmd->info.host.scan_rsp_data_len =NVDS\u LEN\u APP\u BLE\u SCAN\u RESP\u DATA;}
if(nvds)\u get(nvds\u TAG\u APP\u BLE\u SCAN\u RESP\u DATA,&cmd->info.host.scan_rsp_data_len,
&命令->info.host.scan_rsp_data[0]) != NVDS(正常)
你好,
使用SW“开箱即用”命令行:
如果(app\u advanced\u mode==GAPM\u ADV\u UNDIRECT)
包括在内。
当做,
对话团队
你好,
我在尝试生成类型ADV\u SCAN\u IND时遇到了类似的问题。
根据文档“RW-BLE-GAP-IS”的第4.7.1节,我假设制作这种广告包类型的方法是将*非零*数据设置到字段“scan\u rsp\u data”和“scan\u rsp\u data\u len”。
但是,似乎目标设备在生成两个包(1~2)之后会*崩溃*。
模式“GAPM\u ADV\u UNDIRECT”设置为cmd->op.code 相反,它工作得很好(广告和扫描响应(连续生成)
你能帮我找到吗?
你好hardy.chen,
您可以在一个空项目上尝试此操作,如果您定义扫描响应数据并将设备设置为role GAP\u PERIPHERAL\u SLV,并且在不可连接模式下,您将看到ADV\u scan\u IND,信标项目已优化,因此如果您希望在信标上进行此配置,则必须在app\u sleep.h文件中注释掉以下行。
if(app\u advanced\u mode==GAPM\u ADV\u NON\u CONN)
ble\ U ADVTIMU集合(500);
谢谢你的对话
好 啊!很有名!
无论如何,我已经实现了我们的信标基于'空模板',这是没有这个问题。
谢谢!