我已经下载并编译了Keil-uVision 4.73.0.0中的DA14580 Dialog Beacons 3.40.2项目,并且我能够在Murata模块(零件号LBCA2HNZYZ)的定制板上编译并运行该项目。我使用的程序员是keilulink2。
我没有在提供的项目中更改任何内容,我可以在Android Bluetooth LE Scanner应用程序和其他2个Apple BLE扫描应用程序中看到广告,但不幸的是,没有一个在广告中显示设备名称。
这是我从Android蓝牙扫描仪应用程序获得的信息:
设备名称:
设备地址:98:F1:70:67:2D:AE
设备类:未知
粘结状态:未粘结
扫描记录
[02,01,04,1A,FF D2,00,02,15,58,5C,
DE,93,1B,01,42,CC,9A,13,25,00,9B,
ED,C6,00,00,00,C5,00,00,00,00,00,
00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
00, 00, 00, 00, 00, 00, 00]
原始广告记录
#1个标志
作为数组:“[04]”
#255制造商特定数据
作为数组:'[D2,00,02,15,58。。。
你知道为什么没有显示设备信息吗?项目DA14580 Dialog Beacons 3.40.2完全没有代码更改,我可以在const struct nvds\u data\u struct nvds\u data\u storage\u attribute\uuu((section(“nvds\u data\u storage\u area”))中看到所有这些信息。这是我目前唯一的开发板。我运行这个项目的步骤如下?
1下载并解压缩DA14580 Dialog Beacons 3.40.2
2转到Flash |配置Flash工具:
2a.在设备选项卡中,设置为对话框DA14580yabo国际娱乐
2b.在调试选项卡中,设置为使用:ULINK2/ME Cortex Debugger
2c.在ULINK2/ME Cortex调试器设置中,将端口设置为SW
三。在Utilities选项卡中,选中Use Target Driver for Flash Programming,并在下拉菜单中选择ULINK2/ME Cortex Debugger。
4启动/停止调试两次
请帮忙。如果我漏了一步,请原谅。我已经阅读了常见问题的网页,信标参考和软件架构PDF的以及村田第一步指南,但没有发现任何错误。
提前谢谢。
你好,JD,
信标不一定公布设备名称。对话框中的示例信标实现没有公布名称,因此您报告的所有内容都表明您的安装程序按预期工作。
请查看“app\u dialog\u beacon\u proj.c”文件中的例程“app\u adv\u func”。广告信息就是在这里集合起来的。如您所见,我们从“NVDS\u TAG\u APP\u BLE\u ADV\u data”获取数据。这在nvds.c中定义为
.NVDS \u TAG \u APP \u BLE \u ADV \u DATA=“\x1A\xFF\xD2\x00\x02\x15\x58\x5C\xDE\x93\x1B\x01\x42\xCC\x9A\x13\x25\x00\x9B\xED\xC6\x5E\x00\x00\xC5”,
这是你在空中看到的。
MHv\U对话框和TR\U对话框,
非常感谢您的确认。最后一个问题,知道设备地址(98:F1:70:67:2D:AE)在示例项目(DA14580 Dialog Beacons 3.40.2)中的位置吗??
我之所以问这个问题是因为在这个示例项目中,MAC地址,.NVDS\u TAG\u BD\u address={0x01,0x23,0x45,0x55,0x89,0x11},
与广告/扫描内容不同:98:F1:70:67:2D:AE
在哪里可以看到设备地址(98:F1:70:67:2D:AE)?我猜是嗅探器传来的。
如果是这种情况,BD地址很可能来自OTP报头。您可以通过使用智能代码段来确认这一点。如果读取OTP头,请查看从偏移量0x7FD4开始的6个字节。
OTP头中的BD地址取代.NVDS\u TAG\u BD\u address中的BD地址。只有OTP头中的BD地址全部为零时,才使用后者。您可以在文件nvds.c中找到相应的代码。