[产品应用] 芯源MCU看门狗的设置过程

[复制链接]
1048|2
 楼主| 星辰大海不退缩 发表于 2024-10-12 12:00 | 显示全部楼层 |阅读模式
1 配置IWDT 为独立看门狗
步骤1:设置SYSCTRL_APBEN1.IWDT 为1,使能IWDT 的配置时钟;
步骤2:向IWDT_KR 寄存器写入0xCCCC,启动IWDT;
注意:
需要启动IWDT 后,才可对相关寄存器进行修改。
步骤3:向IWDT_KR 寄存器写入0x5555,解除IWDT 寄存器锁定功能;
步骤4:配置IWDT_CR,配置看门狗计数时钟与RC10K 振荡器的预分频值、溢出后动作、深度休眠模式下是否
自动暂停;
步骤5:配置IWDT_ARR,配置看门狗的溢出周期;
步骤6:等待IWDT_SR.ARRF 和IWDT_SR.CRF 变为0,等待重载值和CR 寄存器更新完成;
步骤7:向IWDT_KR 寄存器写入0xAAAA,加载ARR 到IWDT 计数器。
2 配置IWDT 为窗口看门狗
步骤1:设置SYSCTRL_APBEN1.IWDT 为1,使能IWDT 的配置时钟;
步骤2:向IWDT_KR 寄存器写入0xCCCC,启动IWDT;
注意:
需要启动IWDT 后,才可对相关寄存器进行修改。
步骤3:向IWDT_KR 寄存器写入0x5555,解除IWDT 寄存器锁定功能;
步骤4:配置IWDT_CR,配置看门狗计数时钟与RC10K 振荡器的预分频值、溢出后动作、深度休眠模式下是否
自动暂停;
步骤5:配置IWDT_ARR,配置看门狗的重载值;
步骤6:配置IWDT_WINR,配置窗口大小,注意IWDT_WINR 必须小于IWDT_ARR 重载值;
步骤7:等待IWDT_SR.ARRF、IWDT_SR.WINRF 和IWDT_SR.CRF 变为0,等待重载值、窗口寄存器和CR 寄存
器更新完成;
步骤8:向IWDT_KR 寄存器写入0xAAAA,加载ARR 到IWDT 计数器。
3 刷新IWDT(喂狗操作)
步骤1:向IWDT_KR 寄存器写入0xAAAA,加载ARR 到计数器;
步骤2:等待IWDT_SR.RELOAD 变为0,等待重载操作完成。

AdaMaYun 发表于 2024-10-13 14:59 | 显示全部楼层
看门狗的开启还是非常有必要的
小小蚂蚁举千斤 发表于 2024-10-27 19:52 | 显示全部楼层
喂狗操作是必须要进行的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

302

主题

2831

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部