如果启用CFG_WDOG,停止外设的发布(基于接近报告),大约4秒后会有一个看门狗重置。如果我#undef CFG_WDOG,我可以关闭和重新打开广告没有问题。
为什么广告对监察机构保持信息更新至关重要?
你好,
广告应该不会对WDT有任何影响,我会尽力帮助你解决这个问题。你能告诉我何时以及如何停止和开始广告吗?它是基于定时器的,某种GPIO活动吗?
我通过向APP_TASK发送消息来启动和停止广告。消息从我的配置文件任务发送到APP_TASK,由UART消息触发(我已经用我们自己的专有协议覆盖了常规的UART通信)。
亲爱的对话框支持,
我在以下配置中经历了这样的行为:我想改变广告数据(更新电池值和管理制造商特定的数据)。因为没有UpdateAdvertisingData()函数,我做的建议http://support.dialog-semiconductor.com/stopping-and-starting-advertisem..。:当电池值必须更新或当我想更新我的制造商特定的数据,我张贴消息停止广告,当app_adv_undirect_complete()回调被调用,我张贴消息开始广告。这个场景工作得很好。
int app_adv_done_handler (ke_msg_id_t const是否,ke_task_id_t const dest_id,ke_task_id_t const src_id){app_adv_stop ();返回(KE_MSG_CONSUMED);}
int app_adv_restart_handler (ke_msg_id_t const是否,ke_task_id_t const dest_id,ke_task_id_t const src_id){app_adv_start ();返回(KE_MSG_CONSUMED);}
oid app_adv_undirect_complete (uint8_t状态){如果(ke_state_get (TASK_APP) = = APP_CONNECTABLE){
ke_msg_send_basic (APP_ADV_RESTART TASK_APP TASK_APP);}返回;}
(当然要定义相应的处理程序任务)
但出于调试目的,我想避免重新启动广告,所以我评论了“app_adv_start();”,我总是在2秒后重置看门狗。我假设看门狗计数器是重置根据广告定时器,当我们停止广告定时器,我们应该重新配置定时器来重置看门狗计数器?
你有什么建议吗?
最好的问候,奥利维尔
...我使用SDK 3.0.6 !
嗨,对话框的团队,
关于这个话题有什么最新消息吗?我也有同样的问题基于BEACON参考设计'DA14580_BEACON_3.40.6'。
根据我从源代码的理解,我没有看到在ext. sleep期间喂养看门狗的可能性,这是这个问题的原因吗?
嗨hardy.chen,
您能给我您在信标上所做的配置修改吗?我运行了一个新的信标项目,在信标参考设计上启用了看门狗,没有出现NMI,并且选择了HW_CONFIG_BEACON_REF定义。另一件我建议是使用一个新的SDK如果你计划修建灯塔和使用信标参考设计作为一个例子,因为裁判des是构建比当前的一个年长的SDK,大量的bug修复和改善随着时间的推移发生了。
由于MT_dialog
我终于找到了我的WDT复位的原因,这是错误的使用访问SPI flash而没有唤醒它。API 'app_flash_poweroff_timer_handler'将导致系统停止时SPI flash已经在省电状态。
很高兴你找到了,谢谢分享。
你好,
广告应该不会对WDT有任何影响,我会尽力帮助你解决这个问题。你能告诉我何时以及如何停止和开始广告吗?它是基于定时器的,某种GPIO活动吗?
我通过向APP_TASK发送消息来启动和停止广告。消息从我的配置文件任务发送到APP_TASK,由UART消息触发(我已经用我们自己的专有协议覆盖了常规的UART通信)。
亲爱的对话框支持,
我在以下配置中经历了这样的行为:
我想改变广告数据(更新电池值和管理制造商特定的数据)。因为没有UpdateAdvertisingData()函数,我做的建议
http://support.dialog-semiconductor.com/stopping-and-starting-advertisem..。:
当电池值必须更新或当我想更新我的制造商特定的数据,我张贴消息停止广告,当app_adv_undirect_complete()回调被调用,我张贴消息开始广告。这个场景工作得很好。
int app_adv_done_handler (
ke_msg_id_t const是否,
ke_task_id_t const dest_id,
ke_task_id_t const src_id
)
{
app_adv_stop ();
返回(KE_MSG_CONSUMED);
}
int app_adv_restart_handler (
ke_msg_id_t const是否,
ke_task_id_t const dest_id,
ke_task_id_t const src_id
)
{
app_adv_start ();
返回(KE_MSG_CONSUMED);
}
oid app_adv_undirect_complete (uint8_t状态)
{
如果(ke_state_get (TASK_APP) = = APP_CONNECTABLE)
{
ke_msg_send_basic (APP_ADV_RESTART TASK_APP TASK_APP);
}
返回;
}
(当然要定义相应的处理程序任务)
但出于调试目的,我想避免重新启动广告,所以我评论了“app_adv_start();”,我总是在2秒后重置看门狗。
我假设看门狗计数器是重置根据广告定时器,当我们停止广告定时器,我们应该重新配置定时器来重置看门狗计数器?
你有什么建议吗?
最好的问候,
奥利维尔
...我使用SDK 3.0.6 !
嗨,对话框的团队,
关于这个话题有什么最新消息吗?
我也有同样的问题基于BEACON参考设计'DA14580_BEACON_3.40.6'。
根据我从源代码的理解,我没有看到在ext. sleep期间喂养看门狗的可能性,这是这个问题的原因吗?
嗨hardy.chen,
您能给我您在信标上所做的配置修改吗?我运行了一个新的信标项目,在信标参考设计上启用了看门狗,没有出现NMI,并且选择了HW_CONFIG_BEACON_REF定义。另一件我建议是使用一个新的SDK如果你计划修建灯塔和使用信标参考设计作为一个例子,因为裁判des是构建比当前的一个年长的SDK,大量的bug修复和改善随着时间的推移发生了。
由于MT_dialog
嗨,对话框的团队,
我终于找到了我的WDT复位的原因,这是错误的使用访问SPI flash而没有唤醒它。
API 'app_flash_poweroff_timer_handler'将导致系统停止时SPI flash已经在省电状态。
嗨hardy.chen,
很高兴你找到了,谢谢分享。
由于MT_dialog