如果启用了CFG_WDOG,则停止外设的广告(基于邻近记者),大约4秒后有一个看门狗重置。如果i #undef cfg_wdog,我可以在没有问题的情况下再次关闭并重新打开广告。
为什么广告是为了让看门狗更新的广告至关重要?
你好,
广告不应该对WDT产生任何影响,我会尝试帮助您解决此问题。你能告诉我你什么时候停止并开始广告?是基于定时器的,某种GPIO活动?
我通过向App_Task发送消息来启动和停止广告。从UART消息触发的我的个人资料任务发送到App_task(我覆盖了与我们自己的专有协议的常规UART通信)。
亲爱的对话支持,
我遇到了以下配置的行为:我想改变广告数据(更新电池值并管理制造商特定数据)。因为没有UpdateAdvertisingData()函数,我按照建议进行http://support.dialog-semicondiondiondum/stopping-and-starting-advertisem ...:当必须更新电池值或者我想更新我的制造商特定数据时,我发布了一条消息来停止广告,并且当App_adv_undirect_Complete()调用回调时,我发布了一条消息以启动广告。这种情况运作良好。
int app_adv_done_handler(ke_msg_id_t const msgid,ke_task_id_t const dest_id,ke_task_id_t const src_id.){app_adv_stop();return(ke_msg_consumed);}
int app_adv_restart_handler(ke_msg_id_t const msgid,ke_task_id_t const dest_id,ke_task_id_t const src_id.){app_adv_start();return(ke_msg_consumed);}
oid app_adv_undirect_complete(uint8_t状态){if(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合作!
嗨对话小组,
这个主题有什么更新吗?根据信标参考设计'da14580_beacon_3.40.6',我还获得了同样的问题。
随着我从源代码的理解,我没有看到在EXT期间喂食看门狗的可能性。睡觉,这将是这个问题的原因吗?
嗨Hardy.chen,
你能告诉我你在灯架上做出的配置修改,我在信标参考设计上运行了一个新鲜的信标项目,没有NMI,没有选择的NMI和HW_CONFIG_BEACON_REF定义。我建议的另一件事是使用较新的SDK如果您计划构建信标并以灯泡参考设计为例,因为REF DES以比当前的SDK为比当前的SDK构建,因此很多错误修复和改进随着时间的推移发生了。
谢谢mt_dialog.
我终于找到了我的WDT重置的原因,这是访问SPI闪光的错误使用而不唤醒它。API'app_flash_poweroff_timer_handler'将使系统停止,当SPI闪光灯已经处于省电状态时。
很高兴你找到它并感谢分享。
你好,
广告不应该对WDT产生任何影响,我会尝试帮助您解决此问题。你能告诉我你什么时候停止并开始广告?是基于定时器的,某种GPIO活动?
我通过向App_Task发送消息来启动和停止广告。从UART消息触发的我的个人资料任务发送到App_task(我覆盖了与我们自己的专有协议的常规UART通信)。
亲爱的对话支持,
我遇到了以下配置的行为:
我想改变广告数据(更新电池值并管理制造商特定数据)。因为没有UpdateAdvertisingData()函数,我按照建议进行
http://support.dialog-semicondiondiondum/stopping-and-starting-advertisem ...:
当必须更新电池值或者我想更新我的制造商特定数据时,我发布了一条消息来停止广告,并且当App_adv_undirect_Complete()调用回调时,我发布了一条消息以启动广告。这种情况运作良好。
int app_adv_done_handler(
ke_msg_id_t const msgid,
ke_task_id_t const dest_id,
ke_task_id_t const src_id.
)
{
app_adv_stop();
return(ke_msg_consumed);
}
int app_adv_restart_handler(
ke_msg_id_t const msgid,
ke_task_id_t const dest_id,
ke_task_id_t const src_id.
)
{
app_adv_start();
return(ke_msg_consumed);
}
oid app_adv_undirect_complete(uint8_t状态)
{
if(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合作!
嗨对话小组,
这个主题有什么更新吗?
根据信标参考设计'da14580_beacon_3.40.6',我还获得了同样的问题。
随着我从源代码的理解,我没有看到在EXT期间喂食看门狗的可能性。睡觉,这将是这个问题的原因吗?
嗨Hardy.chen,
你能告诉我你在灯架上做出的配置修改,我在信标参考设计上运行了一个新鲜的信标项目,没有NMI,没有选择的NMI和HW_CONFIG_BEACON_REF定义。我建议的另一件事是使用较新的SDK如果您计划构建信标并以灯泡参考设计为例,因为REF DES以比当前的SDK为比当前的SDK构建,因此很多错误修复和改进随着时间的推移发生了。
谢谢mt_dialog.
嗨对话小组,
我终于找到了我的WDT重置的原因,这是访问SPI闪光的错误使用而不唤醒它。
API'app_flash_poweroff_timer_handler'将使系统停止,当SPI闪光灯已经处于省电状态时。
嗨Hardy.chen,
很高兴你找到它并感谢分享。
谢谢mt_dialog.