请问如何决定看门狗的定时时间和两种看门狗的场合?

2019-07-14 15:56发布

1.如何决定看门狗的时间?
是根据程序执行一周所用的时间来确定个大概吗?
然后在while循环里喂一次狗?

2.独立看门狗和窗口看门狗各自的应用场合有哪些?
查了些资料,知道独立看门狗只有下限,有独立的40K左右时钟源;软件看门狗,有下限和上限,只有在下限和上限区间内,才能正常喂狗。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
UserMen
2019-07-15 16:25
谦谦三君子 发表于 2018-11-19 08:11

关键在于你的“HAL_IWDG_Refresh(&hiwdg);”前面的省略号是什么代码,是否是固定延时的语句。

我的做法是加载FreeRTOS,用单独的一个任务喂狗:

/* StartTask10 function */
void StartTask10(void const * argument)
{
  /* USER CODE BEGIN StartTask10 */
  /* Infinite loop */
  for(;;)
  {
                osDelay(500);
                HAL_IWDG_Refresh(&hiwdg);
                //        每隔        500        毫秒喂一次看门狗        看门狗设置        1000        毫秒重启
  }
  /* USER CODE END StartTask10 */
}

一周热门 更多>