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

2019-07-14 15:56发布

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

2.独立看门狗和窗口看门狗各自的应用场合有哪些?
查了些资料,知道独立看门狗只有下限,有独立的40K左右时钟源;软件看门狗,有下限和上限,只有在下限和上限区间内,才能正常喂狗。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
5616asaqwq
1楼-- · 2019-07-15 00:52
 精彩回答 2  元偷偷看……
UserMen
2楼-- · 2019-07-15 05:06
看门狗需要用定时器来喂,你用while语句喂狗需要算里面的执行时间。
没用过窗口的类型,没办法给意见
csw_ying
3楼-- · 2019-07-15 09:20
二楼回答正确
谦谦三君子
4楼-- · 2019-07-15 10:58
UserMen 发表于 2018-11-19 07:46
看门狗需要用定时器来喂,你用while语句喂狗需要算里面的执行时间。
没用过窗口的类型,没办法给意见

UserMen
5楼-- · 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 */
}
60user189
6楼-- · 2019-07-15 17:37
 精彩回答 2  元偷偷看……

一周热门 更多>