你好,
我使用DA14531基于自定义板,与SDK 6.0.12.1020.2。我使用ble_app_barebone的例子。
在这里,我试图停止广告使用函数app_easy_gap_advertise_stop()在adv_data_update_timer_cb()
和评论user_app_adv_start ();在函数user_app_adv_undirect_complete(uint8_t status)中。但是发现代码停在__asm(“BKPT #0\n”)。
if (GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP)
__asm(“BKPT # 0 \ n”);
其他的
{
(1);
}
我想停止一段时间的广告,并重新开始,但我做不到。
让我知道什么是问题和解决方案。
问候,
Abhijeet
设备:
嗨deshpandead,
首先感谢您的在线查询。这表示看门狗定时器过期,或出现NMI/Hardfault。请检查第22节看门狗定时器从数据表。hardfault_handler.c或nmi_handler.c文件中附加的代码片段?
这个功能已经在SDK的in的ble_app_sleepmode示例中实现了。具体来说,设备默认启动无定向广告。在user_app_adv_start()中设置了一个“app easy”计时器。在预定义的时间(APP_ADV_DATA_UPDATE_TO)之后,计时器将过期,并触发adv_data_update_timer_cb()回调函数。这个函数调用app_easy_gap_advertise_stop(),因此系统停止发布,并执行user_app_adv_undirect_complete()。该功能使芯片进入睡眠模式。只有外部(GPIO)唤醒事件才能唤醒处理器。对于ble_app_barebone示例,您应该遵循与ble_app_sleepmode示例相同的过程。如果有任何其他问题/问题,请让我知道如何执行它。
您可以共享您正在使用的user_app_adv_undirect_complete()吗?
通常,我们强烈建议首先查看下面的教程来开始。
此外,您将能够找到大量的SW,HW和RF常见问题(常见问题)在此链接的DA14531DA14531_FAQs (HTML)。
为了更好地了解SDK6架构,api等UM-B-119: DA14585-DA14531 SW平台参考文档推荐!
谢谢,PM_Dialog