你好,我一直在尝试提出DA14580的基本设计现在有一段时间了,还没有遇到任何成功。我是BLE的初学者,但我知道它现在应该可以工作了。我从ble_app_barebone示例开始,并尝试在外部触发器上更改广告数据。当我在不做任何更改的情况下运行这个示例时,我可以在手机上看到广告。只要我修改了源文件,我就再也看不到广告了。
设置如下:
- 使用村田开发板和芯片包含DA14580核心和J-Link LITE外设。
- 为了检测信号,我使用了安卓手机(Moto X 2013支持BLE),并从安卓应用商店下载了一些扫描仪(蓝牙LE扫描仪,rNF主控面板)。不幸的是我的笔记本电脑不支持BLE。
- 我的应用程序总是发布广告,并在外部触发器上定期更新广告数据。不需要联系。外部触发器正在工作(例如,我成功地捕捉到一个按钮事件,并切换一个LED响应)。
- 我目前正在尝试首先使用无定向广告,以便我的代码将尽可能接近ble_app_barebone示例。一旦它启动并运行,我计划将其切换到非连接广告。
.
目前,我的问题如下:
- 我如何知道BLE是否正在接受我试图让它使用的广告包?我可以查询BLE的当前广告功能的状态(例如,如果它是广告,它的数据是什么,等等)?
- 如果我使用不可连接的广告,但不更改示例中的任何其他设置,设备还会被发现吗(以一种我手机上的BLE扫描仪会识别它的方式)?是否有一个特别的Android扫描仪应用程序建议开发?
- 当更新广告数据时,我知道我必须停止广告数据,生成一个新的广告包,然后用新的包再次开始广告。对吗?
- 我知道最大数据包大小是31个字节。这是否包括广告包结构内部的大小和类型?我听说这些字节中有三个是保留的,但广告大小和类型加在一起只包含两个字节。这三个保留字节是什么?我们是否必须显式地将它们包含在广告数据结构中?另外,这些字段中哪些计入数据长度字段,哪些不计入数据长度字段?例如,数据包长度字段本身是数据包长度的一部分吗?数据包类型字段是什么?
- 是否有关于如何使用Keil调试器的建议资源?恐怕我只是在运行代码,看看它是否有效,这没什么帮助。
- 是否有一种方法我可以打印tf()直接到Keil控制台?或者,是否有任何关于启动和运行UART的资源?UART和UART2之间的区别是什么(其中一个比另一个更适合与Murata开发板一起使用)?我能够运行SDK附带的UART示例,但还没有成功地将UART支持合并到我的代码中。
.
我正在努力按照UM-B-051中指定的API工作,当然,任何额外的资源都很感激。提前感谢你的帮助。
设备:
嗨swesbrj77,
1)你正在改变广告包,但你不能看到你的设备是否真的在做广告?如果广告成功,您应该在BLE电话上看到您的设备广告字符串,如果您正在使用pro或专家套件(其中嵌入了电流测量电路,您必须能够看到3个峰值,这表明您的设备在3个不同的通道上广告)。如果你在电话上看不到你的广告包,很可能是广告字符串出了问题。
2)是的,你的手机应该能够发现不可连接的广告包,没有特定的android应用程序,几乎所有可用的都能够跟踪广告字符串。
3)是的,你必须停止广告,以更新广告字符串。
4)是的,广告字符串31字节,但3字节是强制性的,所以你不能有所有31字节的数据。这些字节是AD标志,请查看规范了解更多信息。
5)你可以在ARM keil的网站上找到更多关于keil的信息,或者在Dialog's Getting started文档中找到如何下载代码到你的da的快速入门指南。
6)大多数客户使用da的UART进行调试。您可以在UM-B-050文档第7节周边示例应用程序中找到如何使用UART,您也可以在UM-B-051中查看UART的驱动程序。雷竞技安卓下载这两种UART实现之间没有区别。请尝试按这个链接http://support.dialog-semiconductor.com/sdk-5-uart.
由于MT_dialog