嗨,伙计们,
我有一个PAN1740 USB DEVBBoard,我想检测广告设备(例如,BLE温度传感器),并在终端程序中显示这些adv设备的制造数据,如“hterm”。就我所知,我需要引导我的设备作为“中央设备”或“观察者”。但是我该怎么做呢?
到目前为止,没有一个示例项目帮助我,我也不确定我做错了什么。我认为接近监视器示例(prox_uMonitor_uExt.uvprojx)将适合我的需要,但在将“hterm”连接到正确的COM端口后,我仍然没有看到任何接收数据。我也尝试过DSPS示例(sps主机.uvprojx),但没有成功。
我需要修改代码吗?显然,我想要应用PAN1740的方法并不是现成的。
有什么建议吗?
提前谢谢。
设备:
嗨卡恩特,
您必须配置设备,以便从用户\u gapm配置结构作为中心操作,您应该将.role更改为GAP\u central_umst或GAP_uobserver\u SCA,然后您必须向该堆栈发出扫描命令,以便设备开始广告。在这方面,将帮助您的示例是DSPS主机端。一旦发现设备配置为每个广告字符串,设备将通过触发.app on_uadv_report\u ind函数通知应用程序,在该函数中,您将能够处理找到的广告字符串并将其打印到UART上。您可以将DSPS主机作为引用,应用与DSPS使用的配置相同的配置并实现扫描功能。之后,启用UART并打印您的中心扫描的广告字符串。
谢谢mt_dialog.
首先,非常感谢您的答复和帮助!
我将尝试它,希望我能运行这个设置。
谨致问候
……最后我有时间试你的建议。不过,我对你的解释有点困惑:
1) “您必须配置设备,以便从用户\u gapm配置结构,…..”-->sps主机.uvproj示例已将角色间隙\u central_UMST设置为默认值,因此此处不需要更改。
2)“您必须向该堆栈发出扫描命令” - >如何发出扫描命令?在我下载到Pan1740之后,它是否以某种方式自动完成?
3)“为了让设备启动广告” - >我没有真实地了解关系,因为我有一个BLE温度标识,它在不发布任何扫描命令的情况下宣传
4)“一旦设备配置” - >到目前为止,我不知道要改变哪种配置,一切都似乎是预配置的。
5) “在这个函数中,您将能够处理找到的广告字符串并将其打印到UART”->,但如何?:)我希望在我用终端程序hterm打开特定的COM端口时会出现一些数据。但事实上,没有什么出现。我需要触发什么吗?
6) “实现一个扫描函数,就像DSPS使用的那个功能一样”->它已经在sps主机.uvproj项目中的代码中实现,对吗?就我所知,我不需要改变任何东西。
7)“启用UART之后” - >我可以看到两个选项来启用UART - 我定义CFG_Printf,它可以启用UART2或者我将其保留未定义,以启用UART。我尝试过,但终端程序仍然没有数据。
正如您所看到的,我不知道如何配置设备以便在COM端口上接收广告数据。我现在没有任何连接到任何GPIO的东西 - 只需将DEV板插入我的笔记本电脑..
谢谢,
卡恩特
嗨卡恩特,
1) 在DSPS示例中,不需要更改设备的角色。
2) 不,除非您指示设备扫描,否则设备不会扫描,扫描命令是GAPM\u START\u scan\u CMD,您将能够在DSPS主机示例中找到一个函数,并在用户sps\u host.c文件中,函数的名称为user_ser\scan\u START()。
3)对于广告的写作写道,对不起,我的意思是扫描。在发出扫描命令后向堆栈命令进行扫描(Gapm_start_scan_cmd),那么设备将开始扫描广告事件。
4) 通过配置,我的意思是设备配置为一个中心(取决于您在问题1上应用的角色),并且设备正在扫描。
5) 当设备一获得第一个广告字符串就开始扫描时,将触发.app_uon_uadv_ureport_uind(因此,您已匹配该指针保持器的回调)。如果您已经应用了上述内容,并且您在UART上没有看到任何内容,这意味着您错过了一些东西,您基于哪个示例构建了您的应用程序、DSP,SDK5.0.4的任何示例?引脚是否正确配置(正确的端口和引脚)?此外,为了能够打印DSP,您需要在本文中解释的DSP的SDK代码上使用一个小补丁https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...为了能够通过ArchAPI打印。
6)确定,所以您正在扫描,如果您有Pro Dev套件,可以通过电源分布器验证。
7)检查我的评论5。
谢谢mt_dialog.