感谢您的回复。 我将向你描述我的总体情况,以及我想做什么,希望能帮助到我。事实上,我有一个DA 14580开发工具包Basic,目标BLE DA 14580(主角色)放置在电子地图中。我想要做的是修改软件内部目标与一个传感器(交换数据、温度、压力…),到目前为止,我已经修改了代码的解答,我想确保它工作得很好,我必须用一个超级终端显示数据。例如我想在超级终端的窗口中查看DA14580扫描的设备,该如何操作?我要做扫描,怎么做?以及如何搜索要显示的变量?我真的被屏蔽了很长一段时间,我在论坛和文档中搜索,但我找不到正确的轨道。
嗨kaoutar,
无法发现主机项目,它的扫描仪,它的角色是扫描并发现其他设备(充当外围设备的设备和通告),您不会发现来自另一个中心的中央。
由于MT_dialog
嗨mt_dialog,
谢谢你的要求。
由于我想从交换的DA14580读取数据,我还有一个解决方案,它是使用高端锤来显示变量。为此,我知道我必须使用一个UART电缆,但我不知道如何打开这个超级终端或如何介绍控件以及我可以找到它们的位置。
你有什么想法吗?
PS:我用的是Keil。
谢谢。
Kaoutar
嗨mt_dialog,
在一些研究之后,我知道我必须使用超级名为TERA术语。当我使用UART电缆时,我在超级终端的窗口上看不到任何东西。我不知道如何在那里显示字符。
我也希望知道Keil上的控件是什么允许我在ASCII中更改在十六进制中显示的字符的形状。
谢谢你的帮助。
Kaoutar
嗨kaoutar,
是的,TERA术语是一个终端您可以与DSP一起使用,以检查转移数据,请检查DSPS应用程序注意中的说明,以便正确设置DEMO并检查您的连接。确保您在TERA术语上使用正确的设置(在PC上的HW / SW流量控制,以便正确显示数据)。为了更改终端的字符设置并与Keil无关,终端将转换为ASCII或十六进制数据发送的数据。
由于MT_dialog
嗨MT_dialog
我有两台da14580设备,我想用设备A发布广告信息,设备B扫描广告,如何扫描得到设备A的广告?如果我只需要使用app_start_scan ?app_adv_report_ind_func是什么意思?
感谢您的回答!
嗨MT_dialog
感谢您的回答。
对于连接TERA术语,我使用文件“da14580_581_583 -basic”我做了一切,如文档所示,但我看到奇怪的字符显示在超级终端上,我不知道如何阅读这个数据.
我还想知道例如如何显示对应于设备状态的变量,如何显示匹配扫描器模块的变量…
我真的很初学,我试图提出更多问题来了解我的项目领导。
谢谢你!
Kaoutar
嗨Kaoutar,
奇怪的字符最有可能是因为你没有正确设置你的终端的流量控制设置(选择适当的设置为HW或SW流量控制,你将能够看到适当的数据,也可以尝试与不同的终端像赫拉克勒斯或Tera Term)。我不太明白第二个问题,每个设备都有一个角色,这个角色在设备启动时设置,一旦上层获得GAPM_RESET操作,就会调用app_easy_configure()函数来设置设备的角色,如外围设备、中心设备等。没有代码实现可以请求您的设备的功能,并通过uart打印设备的角色。
由于MT_dialog
嗨shuixiu,
当你调用app_start_scan()时,你的设备将开始在所有3个广告通道中连续扫描,当你的设备从外设获得一个广告字符串时,app_adv_report_ind_func将被调用,以通知你的应用程序一个广告字符串被跟踪。
由于MT_dialog
由于MT_dialog
我得到了它,现在我可以开始扫描事件。当我唤醒设备并开始扫描事件时,电流约为2.15mA(睡眠模式下的电流约为1.7uA),这是正确的吗?如果没有其他设备通告扫描事件,持续约5s~6s后停止?
谢谢您的回答
嗨shuixiu,
请检查你的其他帖子的答案http://support.dialog-semiconductor.com/current-start-scanning-event.
由于MT_dialog
嗨mt_dialog,
感谢您的回复。
我将向你描述我的总体情况,以及我想做什么,希望能帮助到我。事实上,我有一个DA 14580开发工具包Basic,目标BLE DA 14580(主角色)放置在电子地图中。我想要做的是修改软件内部目标与一个传感器(交换数据、温度、压力…),到目前为止,我已经修改了代码的解答,我想确保它工作得很好,我必须用一个超级终端显示数据。例如我想在超级终端的窗口中查看DA14580扫描的设备,该如何操作?我要做扫描,怎么做?以及如何搜索要显示的变量?我真的被屏蔽了很长一段时间,我在论坛和文档中搜索,但我找不到正确的轨道。
如果你能帮助我,我将非常感激。
谢谢Kaoutar。
嗨kaoutar,
让我们以显示广告数据为例,您可以启用UART2特性来打印数据,并使用arch_printf来将数据推送到终端上。在da1458x_config_base .h中定义CFG_PRINTF,以启用uart2功能(也包括uart2.c,如果没有包含在项目中)正确配置您的引脚,并将下面的代码替换为schedule_while_ble_on()中的以下代码片段:
////////////////////////////////////////////////////////////////////////////////////////////
if(!app_asynch_trm())
休息;
/ / SDKIMPROVEMENTS需要测试! !我们可以添加以下条件并移动
//它从循环中出来
//我们可以考虑在app_asynch_trm之前把它放在
/ /如果(GetBits16 (CLK_CTRL_REG RUNNING_AT_XTAL16M))
//执行printf进程
ARCH_PRINTF_PROCESS();
///////////////////////////////替换上面的代码:使用以下代码////////////////////////////////////////////////////
如果(app_asynch_trm ())
{
继续;//再次调用rwip_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],
param - > report.adv_addr.addr [3],
param - > report.adv_addr.addr [2],
param-> eport.addr.addr [1],
param - > report.adv_addr.addr [0]);
以便打印出正在发布广告的设备的bd地址。
由于MT_dialog
嗨mt_dialog,
谢谢您的回答。
我在我的代码中应用了这些更改,但没有任何工作。我不知道如何显示我的da14580的状态,以及从我的da14580扫描的地址。我想我将在keil上尝试它,因为我有兴趣找到这些变量的值:da14580的状态(如果它是一个主机或设备模式)和扫描地址。如果我只使用Keil,我运行调试器,我可以很好地显示变量和它们的值,我想知道确切地在哪里寻找我需要的这些变量。
我不知道你是否明白我的意思。
感谢您的回答。
Kaoutar。
嗨kaoutar,
我提到的指令是为了在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