在正常操作期间,一次wdt 超时溢出将产生一次器件复位。如果器件处于休眠状态,一次wdt超时溢出将唤醒器件,使其继续正常操作(即称作wdt 唤醒)。对wdte 设置位清零可以永久性地关闭wdt。
后分频器分配完全是由软件控制,即它可在程序执行期间随时更改。
为避免发生不可预测的器件复位,当从timer0 预分频器的分配改为wdt 后分频器的分配时,必须执行下列指令序列。即使wdt 被禁止,也要执行这个指令序列。
如图所示是看门狗定时器的功能框图。
s3c44b0x看门狗定时利用mclk作为时钟源,经过8位的预分频和4选1的2位分割之后得到所需频率。预分频值和频率分割值在看门狗定时器控制寄存器wtcon中配置,有效的预分频值范围为0~28-1,频率分割系数可选为16、32、64或128。使用下列公式计算看门狗定时频率和每个定时器时钟周期值。
twatchdog=1/mclk/(预分频值+1)/分频系数
看门狗定时器使能后,wtdat(看门狗定时器数据寄存器)不能自动装入wtcnt(看门狗定时计数寄存器)。因此,在看门狗定时器开始工作前,初值必须写到看门狗定时计数寄存器wtcnt中。