嗨对话框,
我正在尝试使Beacon应用程序的忠告权如其他蓝牙设备可以倾听空中,这是我遵循您网站链接的那个人的问题,但仍然无法捕捉到其他蓝牙设备的广播数据包扫描广播包。能否请你帮忙?
引用我所做的与以下内容相同:
http://support.dialog-semicondiondiondum/aadvertisement-complete-callback -...
2 - 选项(适当的一个)是通过CATCH REST功能(User_Catch_Rest_hndl)捕获非可连接广告的结束。您可以将以下代码放在user_peripher.cl函数中:
案例GAPM_CMP_EVT:
{
struct gapm_cmp_evt const * msg_param =(结构gapm_cmp_evt const *)(param);
开关(MSG_PARAM->操作)
{
案例GAPM_ADV_NON_CONN:
user_app_adv_start();//完成后或任何您想要的内容
休息;
默认:
休息;
} 休息;
}
设备:
嗨Liuluan002,
您可以转到GapM_CMP_EVT_HANDLER()并在接收捕获REST功能的回调函数时检查断点。如果执行正确的案例,则在切换语句中调用它。您可以始终使用第一个选项,以便调试目的,以检查GAPM_ADV_NON_CONN是否被触发。
谢谢mt_dialog.
感谢你的回复。但是我正在调试代码,但它在global_int_stop()中停止;在arch_main.cn时,我运行f10步骤
亲爱的mt_dialog,
我正在尝试从da1458x_sdk \ 5.0.3 \ projects \ target_apps \ ble_examples \ ble_app_peripheral运行代码,但我不能从其他蓝牙设备捕获广播包。此设备可以从其他蓝牙信标包中获取包。您能帮我请帮助我运行一些基于BLE_APP_PERITERAL运行的一些信标广播包吗?
嗨Liuluan002,
在您提到的帖子中指示的代码只是为了捕获不可连接的广告的结束(设备是广告,您发出的停止导致广告停止,并且您将指示您的设备停止的应用程序的迹象广告)。你是什么意思你不能从另一个设备捕获广告包?为了从其他设备获取BLE包,您必须成为扫描仪,以便从其他外设的SNIF广告包。
谢谢mt_dialog.
我正在使用基于Microchip RN4020的蓝牙扫描仪赶上所有广播包的所有广告包。我可以通过Microchip RN4020扫描从其他设计中看到其他信标包,但我无法看到来自DA14580的包。
从我的代码中,我刚刚添加了Da1458x_sdk \ 5.0.3 \ projects \ target_apps \ ble_examples \ ble_app_periasieral的项目的以下更改
2 - 选项(适当的一个)是通过CATCH REST功能(User_Catch_Rest_hndl)捕获非可连接广告的结束。您可以将以下代码放在user_peripher.cl函数中:
案例GAPM_CMP_EVT:
{
struct gapm_cmp_evt const * msg_param =(结构gapm_cmp_evt const *)(param);
开关(MSG_PARAM->操作)
{
案例GAPM_ADV_NON_CONN:
user_app_adv_start();//完成后或任何您想要的内容
休息;
默认:
休息;
} 休息;
}
嗨Liuluan002,
由于您没有看到任何广告,而且您没有得到您的广告已停止的指示,可以确保您的设备通过使用Smart Spetpets工具或只是为了确保尝试Android BLE应用程序进行广告?
谢谢mt_dialog.
嗨,我可以从手机看到广告包,但我不能使用mircochip的扫描仪来扫描它。但是使用相同的工具,它可以从同一设备中运行的IBeAcon示例扫描包。你能帮忙吗?是否需要将代码从无连接的广播更改为非连接的广播?我怎么能做到?
嗨Liuluan002,
我不知道扫描仪检测到什么样的数据包。如果要以不可连接的模式宣传,可以通过使用SDK的模板项目中的App_easy_gap_non_connectable_advertise_start()函数来进行此操作。
谢谢mt_dialog.
我试过,但仍然没有那么差异。来自信标的广播方法和行为是否有很多来自信标示例和da1458x_sdk \ 5.0.3 \ projects \ target_apps \ ble_examples \ ble_app_perifal的示例?
嗨Liuluan002,
信标示例使用两种不同的广告模式(取决于软件配置 - Gapm_adv_non_conn和GapM_Adv_undirect),并且设备的角色在Gap_peripheral_slv中设置pdu类型是adv_nonconn_ind。也是Beacon广告没有扫描响应数据。App_Peripheral AS在Gap_Peripheral_SLV中使用GAPM_ADV_UNDICHICED,具有扫描响应数据,PDU类型使用是ADV_IND。
谢谢mt_dialog.
谢谢你的回复,我现在试着检查一下。
对于扫描,我们是否有可能只收听一个频道,例如我们只扫描通道37?
嗨Liuluan002,
只有只检查各个广告频道或检索特定的广告频道号码。
谢谢mt_dialog.
谢谢它现在工作。
花药问题是关于看门狗
对于项目“BLE_APP_BAREBONE”,我已将WatchDog从“#undef cfg_wdog”更改为“da1458x_config_basic.h”中的“#define cfg_wdog”。然后我将以下代码写入“app_task.c”,然后我发现它在运行后一段时间后,程序停止,如何解决这个问题?看起来看门狗没有运行。能否请你帮忙?再一次非常感谢你。
//设备配置更新
CASE GAPM_SET_DEV_CONFIG:
{
if(param-> status!= gap_err_no_error)
{
assert_err(0);// 意外的错误
}
别的
{
if(7 == current_role)
{
#if debug_log.
printf_string(“\ r \ n adv1 \ r \ n”);
UART2_INIT(UART_BAUDRATE_115K2,3);
#万一
而(1)
{
#if debug_log.
printf_string(“\ r \ n wd t”);
如果(USE_WDOG)
{
printf_string(“1”);
wdg_reload(watchdog_default_period);
wdg_resume();
}
if(development_debug)
{
printf_string(“2”);
}
printf_string(“\ r \ n”);
UART2_INIT(UART_BAUDRATE_115K2,3);
#万一
}
Record2(Current_role);
Execute_callback_void(app_on_set_dev_config_complete);
}
别的
{
#if debug_log.
printf_string(“\ r \ n adv2 \ r \ n”);
UART2_INIT(UART_BAUDRATE_115K2,3);
#万一
Record2(Current_role);
}
ke_timer_set(app_switch_role_timer,task_app,10);// 10 * 10ms
}
}
休息;
嗨Liuluan002,
我真的不明白你想要做什么。据我所知,该计划不会宣传,但它会陷入其中(1)并且将始终重新加载看门狗并打印一些东西。如果程序因NMI_Handler()(意味着看门狗中断)停止,那么您可以通过打开内存选项卡和检查地址0x81850检查NMI中断,在内存窗口中的第七个无符号长整数号是您的程序计数器。您可以查看此操作以便查看程序停止的位置。
谢谢mt_dialog.
谢谢你。我现在做了它
是否有任何方法可以通过UART端口进行软件更新?怎么做?
通过编程,是否有办法在两个对话框中进行两种对话框之间的OTA?
是否有任何方式我们仍然使用对话框14583的内部闪存的一部分作为传感器数据记录?
嗨Liuluan002,
当前的型话实现使用SPI Flash或I2C EEPROM,没有其他用例的其他实现。
你的意思是一个DA为Suota接收器,另一个DA作为中央操作并更新第一DA的图像?由于大多数Spota中央通常是手机或其他允许图像的其他设备,因此没有实施Suota配置文件。
您可以使用DA的Flash来存储数据除了将上传到DA的图像。信标示例使用SPI内存的空间来存储一些配置数据,我不会看到任何原因为什么不能够用14583执行此操作。
谢谢mt_dialog.