STM32
直播中

杨勇

7年用户 1130经验值
私信 关注
[问答]

IWDG独立看门狗实验步骤简析

IWDG独立看门狗实验步骤有哪些?如何去启动IWDG独立看门狗?

回帖(1)

史乃原

2021-9-24 11:39:46
  实验步骤:
  1、取消写保护和设置预分频系数以及重装载值
  2、启动看门狗(向 向 IWDG_KR 写入 0XCCCC)
  3、重载计数值喂狗(向 IWDG_KR 写入 0XAAAA )
  看门狗电路在达到预置的时间周期时,会产生一个 MCU 复位
  即:如果不及时喂狗(重载计数值)会导致stm32复位
  IWDG 有自己独立的 32Khz 时钟,独立看门狗的时钟是一个内部RC时钟,所以并不是准确的32Khz,
  1、取消写保护和设置预分频系数以及重装载值在 HAL 库中是通过函数 HAL_IWDG_Init 实现的
  IWDG_HandleTypeDef IWDG_HandleStruct; //看门狗结构体
  IWDG_HandleStruct.Instance = IWDG; // IWDG 地址
  IWDG_HandleStruct.Init.Prescaler = IWDG_PRESCALER_32; //选择32分频,大概为1kHz
  IWDG_HandleStruct.Init.Reload = 2000; //2000《0xfff=4095,2000*1ms=2s
  HAL_IWDG_Init(&IWDG_HandleStruct);
  2、启动看门狗(向 向 IWDG_KR 写入 0XCCCC)
  HAL_IWDG_Start(&IWDG_HandleStruct);
  3、重载计数值喂狗(向 IWDG_KR 写入 0XAAAA )
  HAL_IWDG_Refresh(&IWDG_HandleStruct);
举报

更多回帖

发帖
×
20
完善资料,
赚取积分