大家好你们好,
我想知道在扫描和配对时,项目“设备”和“主机”的软代码是否有区别。我的目标是从DSPS应用程序进行扫描,发现主模式下的DA14580模块。我测试了一个“设备”项目,它出现在DSP上,但“主机”项目没有出现。
在软件下扫描它是否有任何更改可以在DSP中扫描?
感谢帮助
嗨,考塔,
无法发现主机项目,它的扫描仪,它的角色是扫描并发现其他设备(充当外围设备的设备和通告),您不会发现来自另一个中心的中央。
谢谢你的对话
嗨mt_dialog,
谢谢你的要求。由于我想从交换的DA14580读取数据,我还有一个解决方案,它是使用高端锤来显示变量。为此,我知道我必须使用一个UART电缆,但我不知道如何打开这个超级终端或如何介绍控件以及我可以找到它们的位置。你有什么想法吗?
PS:我在用Keil。
谢谢。考塔尔
在一些研究之后,我知道我必须使用超级名为TERA术语。当我使用UART电缆时,我在超级终端的窗口上看不到任何东西。我不知道如何在那里显示字符。我也希望知道Keil上的控件是什么允许我在ASCII中更改在十六进制中显示的字符的形状。
谢谢你的帮助。
考塔尔
是的,TERA术语是一个终端您可以与DSP一起使用,以检查转移数据,请检查DSPS应用程序注意中的说明,以便正确设置DEMO并检查您的连接。确保您在TERA术语上使用正确的设置(在PC上的HW / SW流量控制,以便正确显示数据)。为了更改终端的字符设置并与Keil无关,终端将转换为ASCII或十六进制数据发送的数据。
HI MT\u对话框我有两个da14580设备,我想使用设备A的广告消息和设备B扫描广告,那么我如何才能扫描和获得设备A的广告?如果我只需要使用应用程序启动扫描?应用程序高级报告索引功能是什么意思?感谢您的回答!
HI MT\u对话框
感谢您的回答。
对于连接TERA术语,我使用文件“da14580_581_583 -basic”我做了一切,如文档所示,但我看到奇怪的字符显示在超级终端上,我不知道如何阅读这个数据.
我还想知道,例如,如何显示与设备状态相对应的变量,如何显示与扫描仪模块匹配的变量。。。我真的很初学,我试图提出更多问题来了解我的项目领导。
非常感谢。考塔尔
奇怪的字符很可能是因为您没有正确设置终端的流量控制设置(为硬件或软件流量控制选择正确的设置,您将能够看到正确的数据,也可以尝试使用不同的终端,如hercules或Tera Term)。我不太明白第二个问题,每个设备都有一个角色,这个角色是在设备启动时设置的,只要上层得到GAPM\u RESET操作,就会调用app\u easy\u configure()函数来设置设备作为外设的角色,中央等没有代码实现,您可以请求您的设备的功能,并通过uart打印设备的角色。
嗨,水秀,
当您调用app\u start\u scanning()时,您的设备将开始连续扫描所有3个广告频道,当您的设备从外设获取广告字符串时,将调用app\u adv\u report\u ind\u func以通知您的应用程序已跟踪广告字符串。
谢谢你的对话我知道了,现在我可以开始扫描事件了。当我唤醒设备并启动扫描事件时,电流约为2.15mA(睡眠模式下的电流约为1.7uA),对吗?如果没有其他设备公布扫描事件,则继续大约5s~6s,然后停止?谢谢您的回答
请查看你的另一个帖子以获得答案http://support.dialog-semiconductor.com/current-start-scanning-event.
感谢您的回复。我会向你描述我的总体情况,以及我想做什么,希望能对我有所帮助。事实上,我有一个da14580开发包Basic,在电子地图中有一个目标da14580(主角色)。我想做的是修改目标内的软件与传感器通信(交换数据、温度、压力……),到目前为止,我已经修改了Keil上的代码,我想确保它工作良好,我必须使用超终端来显示数据。例如,如果我想在HyperTerminal的窗口上查看DA14580扫描的设备,我该怎么做?我得开始扫描,怎么做?如何搜索要显示的变量?我真的被封锁了很长一段时间,我在论坛和文件中搜索,但我找不到正确的轨道。
如果你能帮助我,我将非常感激。谢谢考塔。
让我们以显示广告数据为例,您可以启用UART2功能以打印数据,并使用arch\u printf将数据推送到终端上。在da1458x\u config\u basic.h中,定义CFG\u PRINTF以启用uart2功能(如果项目中未包含所有就绪,则还包括uart2.c)正确配置管脚,并在启用时将下面指示的代码替换为计划中的以下代码片段:
////////////////////////////////////////////////////////////////////////////////////////////
if(!app_asynch_trm())休息;//SDK改进需要测试!!我们可以添加以下条件并移动//它从循环中出来//我们可以考虑在app_asynch_trm之前把它放在//if(GetBits16(CLK\u CTRL\u REG,RUNNING\u AT \u XTAL16M))//执行printf进程ARCH_PRINTF_PROCESS();
///////////////////////////////替换上面的代码:使用以下代码////////////////////////////////////////////////////如果(app\u asynch\u trm()){继续;//再次调用rwip\u schedule()}其他的{ARCH_PRINTF_PROCESS();休息;}}
完成后,您可以放在User_On_Adv_report_ind()中(每当您提供广告信息时会发出的回调)以下代码段。
ARCH_PRINTF(“连接%02x%02x%02x%02x%02x%02x”,param-> eport.adddr.addr [5],param-> eport.addr.addr [4],参数->report.adv_addr.addr[3],参数->report.adv_addr.addr[2],param-> eport.addr.addr [1],参数->report.adv_addr.addr[0]);
以便打印出广告设备的bd地址。
谢谢您的回答。我在我的代码中应用了这些更改,但没有任何效果。我不知道如何显示我的da14580的状态,以及从我的da14580扫描的地址。我想我会在keil上试一下,因为我有兴趣找到这些变量的值:da14580的状态(如果是主机或设备模式),以及扫描的地址。如果我只使用Keil并运行调试器,我可以很好地显示变量及其值,我想知道在哪里查找我需要的这些变量。我不知道你是否明白我的意思。
感谢您的回答。考塔。
我提到的指令是为了在UART端口中打印数据。如果您只想检查Keil中的变量的值,则应减少与keil的优化级别(只需点击目标按钮的选项,请选择C / C ++选项卡,然后将优化级别更改为-O0或-O1)。关于查看的位置,当您的主机找到一个广告字符串时,将调用user_on_adv_report()回调,以及您的设备跟踪的广告字符串将在参数指针中指示。该指针指向Gapm_adv_report_ind struct和跟踪的BD地址将位于Param-> Report.addr.addr成员中。关于它不起作用的事实,DSP中的打印功能使用UART2模块,UART2模块映射到DSP上的不同引脚,因为UART1模块用于应用程序。只有上面的实现和DA1458x_config_basic.h中的cfg_printf定义(如果没有放置printf命令,因为user_on_adv_report()已经allready指定的命令),您将能够打印扫描设备的BD地址。
嗨,考塔,
无法发现主机项目,它的扫描仪,它的角色是扫描并发现其他设备(充当外围设备的设备和通告),您不会发现来自另一个中心的中央。
谢谢你的对话
嗨mt_dialog,
谢谢你的要求。
由于我想从交换的DA14580读取数据,我还有一个解决方案,它是使用高端锤来显示变量。为此,我知道我必须使用一个UART电缆,但我不知道如何打开这个超级终端或如何介绍控件以及我可以找到它们的位置。
你有什么想法吗?
PS:我在用Keil。
谢谢。
考塔尔
嗨mt_dialog,
在一些研究之后,我知道我必须使用超级名为TERA术语。当我使用UART电缆时,我在超级终端的窗口上看不到任何东西。我不知道如何在那里显示字符。
我也希望知道Keil上的控件是什么允许我在ASCII中更改在十六进制中显示的字符的形状。
谢谢你的帮助。
考塔尔
嗨,考塔,
是的,TERA术语是一个终端您可以与DSP一起使用,以检查转移数据,请检查DSPS应用程序注意中的说明,以便正确设置DEMO并检查您的连接。确保您在TERA术语上使用正确的设置(在PC上的HW / SW流量控制,以便正确显示数据)。为了更改终端的字符设置并与Keil无关,终端将转换为ASCII或十六进制数据发送的数据。
谢谢你的对话
HI MT\u对话框
我有两个da14580设备,我想使用设备A的广告消息和设备B扫描广告,那么我如何才能扫描和获得设备A的广告?如果我只需要使用应用程序启动扫描?应用程序高级报告索引功能是什么意思?
感谢您的回答!
HI MT\u对话框
感谢您的回答。
对于连接TERA术语,我使用文件“da14580_581_583 -basic”我做了一切,如文档所示,但我看到奇怪的字符显示在超级终端上,我不知道如何阅读这个数据.
我还想知道,例如,如何显示与设备状态相对应的变量,如何显示与扫描仪模块匹配的变量。。。
我真的很初学,我试图提出更多问题来了解我的项目领导。
非常感谢。
考塔尔
嗨,考塔,
奇怪的字符很可能是因为您没有正确设置终端的流量控制设置(为硬件或软件流量控制选择正确的设置,您将能够看到正确的数据,也可以尝试使用不同的终端,如hercules或Tera Term)。我不太明白第二个问题,每个设备都有一个角色,这个角色是在设备启动时设置的,只要上层得到GAPM\u RESET操作,就会调用app\u easy\u configure()函数来设置设备作为外设的角色,中央等没有代码实现,您可以请求您的设备的功能,并通过uart打印设备的角色。
谢谢你的对话
嗨,水秀,
当您调用app\u start\u scanning()时,您的设备将开始连续扫描所有3个广告频道,当您的设备从外设获取广告字符串时,将调用app\u adv\u report\u ind\u func以通知您的应用程序已跟踪广告字符串。
谢谢你的对话
谢谢你的对话
我知道了,现在我可以开始扫描事件了。当我唤醒设备并启动扫描事件时,电流约为2.15mA(睡眠模式下的电流约为1.7uA),对吗?如果没有其他设备公布扫描事件,则继续大约5s~6s,然后停止?
谢谢您的回答
嗨,水秀,
请查看你的另一个帖子以获得答案http://support.dialog-semiconductor.com/current-start-scanning-event.
谢谢你的对话
嗨mt_dialog,
感谢您的回复。
我会向你描述我的总体情况,以及我想做什么,希望能对我有所帮助。事实上,我有一个da14580开发包Basic,在电子地图中有一个目标da14580(主角色)。我想做的是修改目标内的软件与传感器通信(交换数据、温度、压力……),到目前为止,我已经修改了Keil上的代码,我想确保它工作良好,我必须使用超终端来显示数据。例如,如果我想在HyperTerminal的窗口上查看DA14580扫描的设备,我该怎么做?我得开始扫描,怎么做?如何搜索要显示的变量?我真的被封锁了很长一段时间,我在论坛和文件中搜索,但我找不到正确的轨道。
如果你能帮助我,我将非常感激。
谢谢考塔。
嗨,考塔,
让我们以显示广告数据为例,您可以启用UART2功能以打印数据,并使用arch\u printf将数据推送到终端上。在da1458x\u config\u basic.h中,定义CFG\u PRINTF以启用uart2功能(如果项目中未包含所有就绪,则还包括uart2.c)正确配置管脚,并在启用时将下面指示的代码替换为计划中的以下代码片段:
////////////////////////////////////////////////////////////////////////////////////////////
if(!app_asynch_trm())
休息;
//SDK改进需要测试!!我们可以添加以下条件并移动
//它从循环中出来
//我们可以考虑在app_asynch_trm之前把它放在
//if(GetBits16(CLK\u CTRL\u REG,RUNNING\u AT \u XTAL16M))
//执行printf进程
ARCH_PRINTF_PROCESS();
///////////////////////////////替换上面的代码:使用以下代码////////////////////////////////////////////////////
如果(app\u asynch\u trm())
{
继续;//再次调用rwip\u schedule()
}
其他的
{
ARCH_PRINTF_PROCESS();
休息;
}
}
完成后,您可以放在User_On_Adv_report_ind()中(每当您提供广告信息时会发出的回调)以下代码段。
ARCH_PRINTF(“连接%02x%02x%02x%02x%02x%02x”,
param-> eport.adddr.addr [5],
param-> eport.addr.addr [4],
参数->report.adv_addr.addr[3],
参数->report.adv_addr.addr[2],
param-> eport.addr.addr [1],
参数->report.adv_addr.addr[0]);
以便打印出广告设备的bd地址。
谢谢你的对话
嗨mt_dialog,
谢谢您的回答。
我在我的代码中应用了这些更改,但没有任何效果。我不知道如何显示我的da14580的状态,以及从我的da14580扫描的地址。我想我会在keil上试一下,因为我有兴趣找到这些变量的值:da14580的状态(如果是主机或设备模式),以及扫描的地址。如果我只使用Keil并运行调试器,我可以很好地显示变量及其值,我想知道在哪里查找我需要的这些变量。
我不知道你是否明白我的意思。
感谢您的回答。
考塔。
嗨,考塔,
我提到的指令是为了在UART端口中打印数据。如果您只想检查Keil中的变量的值,则应减少与keil的优化级别(只需点击目标按钮的选项,请选择C / C ++选项卡,然后将优化级别更改为-O0或-O1)。关于查看的位置,当您的主机找到一个广告字符串时,将调用user_on_adv_report()回调,以及您的设备跟踪的广告字符串将在参数指针中指示。该指针指向Gapm_adv_report_ind struct和跟踪的BD地址将位于Param-> Report.addr.addr成员中。关于它不起作用的事实,DSP中的打印功能使用UART2模块,UART2模块映射到DSP上的不同引脚,因为UART1模块用于应用程序。只有上面的实现和DA1458x_config_basic.h中的cfg_printf定义(如果没有放置printf命令,因为user_on_adv_report()已经allready指定的命令),您将能够打印扫描设备的BD地址。
谢谢你的对话