瑞萨单片机william hill官网
直播中

XX

8年用户 382经验值
擅长:电源/新能源 模拟技术 控制/MCU
私信 关注
[经验]

【瑞萨RA4系列开发板体验】+ 看门狗定时器

RA4M2上面有两个看门狗定时器,一个是Watchdog Timer (WDT),另外一个是Independent Watchdog Timer (IWDT)。后者使用单独的时钟源,即使在芯片内部PLL出现故障时,也能复位芯片。但是后者只有通过硬件配置,不能通过软件配置,所以一般使用前者。

首先还是使用RASC来配置

1671727040698zgzo8spl4e

然后配置参数,这里可以配置的包括周期,分频值,窗口范围,是否产生NMI中断,以及NMI中断回调等

1671727041446l6m20wniw4

首先计算超时时间,超时时间由timeout和clock_division决定,其定义如下

1671727041730du73lunkew

其中分频值支持以下几个

1671727042093iy0dyywn2u

时钟周期支持以下几个

1671727042650o2qxtj7uub

WDT的时钟源是这个

16717270429553au39tdi4p

一般超时的时间可以这样算

秒数(s)*看门狗定时器频率(hz) = 超时时钟周期*分频数

这里最大的超时,是把周期设置为16384,分频设置为8192,超时时间2s左右

然后window_start window_end是喂狗的窗口期,如果不用窗口模式,那把start设置为WDT_WINDOW_START_100,end设置为WDT_WINDOW_END_0 即可

reset_control是决定定时器超时时间到产生一个NMI中断(WDT_RESET_CONTROL_NMI)还是直接复位(WDT_RESET_CONTROL_RESET ),这里为了测试,我们选择让其产生NMI中断

然后生成工程即可

在程序中使用

R_WDT_Open(&g_wdt0_ctrl, &g_wdt0_cfg);

初始化看门狗定时器,然后在循环中使用

R_WDT_Refresh(&g_wdt0_ctrl);

来喂狗

完整版的代码如下

1671727043280dww7bd4ywg

烧录到板上之后,可以看到只要在2s内喂狗,设备就能一直正常运行。

更多回帖

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