看门狗定时器 看门狗定时器由独立的1 MHz 片内振荡器驱动。这是VCC = 5V 时的典型值。请参见特性 数据以了解其他VCC 电平下的典型值。通过设置看门狗定时器的预分频器可以调节看门狗 复位的时间间隔,如P 41Table 17 所示。看门狗复位指令WDR 用来复位看门狗定时器。 此外,禁止看门狗定时器或发生复位时定时器也被复位。复位时间有8 个选项。如果没有 及时复位定时器,一旦时间超过复位周期, ATmega8 就复位,并执行复位向量指向的程 序。 为了防止无意之间禁止看门狗定时器,当看门狗禁用时,其后必须加入一个特定的关闭序 列,详见看门狗定时器控制寄存器说明。 看门狗定时器控制寄存器- WDTCR • Bits 7..5 – Res: 保留 • Bit 4 – WDCE: 看门狗修改使能 • Bit 3 – WDE: 看门狗使能 • Bits 2..0 – WDP2, WDP1, WDP0: 看门狗定时器预分频器2, 1, 和0 下面的例子分别用汇编和C 实现了关闭WDT 的操作。在此假定中断处于用户控制之下 ( 比如禁止全局中断) ,因而在执行下面程序时中断不会发生。 改变看门狗定时器配置的时间序列 改变配置的序列根据不同的安全级别略有不同。下面将逐一说明。
安全级别1(WDTON 熔丝位未编程) 在这个模式下,看门狗定时器的初始状态是禁止的,可以没有限制地通过置位WDE 来使能它。改变定时器溢出周期及禁止( 已经使能的) 看门狗定时器时需要执行一个特定的时间序列: 安全级别2(WDTON 熔丝位已编程) 在这个模式下,看门狗定时器总是使能的, WDE 的读返回值为"1”。 改变定时器溢出周期需要执行一个特定的时间序列: 在紧接的4 个时钟周期之内同时对WDCE 写"0”,以及为WDP 写入合适的数据。WDE的数值可以任意。 |
以上资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!