24、AVR微控制器看门狗定时器的使用与配置

AVR微控制器看门狗定时器的使用与配置

1. 看门狗定时器的工作模式

看门狗定时器(Watchdog Timer)有三种不同的工作模式,以下是具体介绍:
- 看门狗复位(Watchdog Reset, WDR) :若在超时时间内未对看门狗定时器进行复位操作,整个AVR微控制器将被强制复位。复位重启后,MCU状态寄存器(MCUSR)中的WDRF位会被置为1。通过查询该位,可判断AVR微控制器是否由看门狗触发复位。从看门狗引发的复位中唤醒后,看门狗定时器仍处于启用状态,但此时它以最短的超时时间运行,而非最初配置的时间。
- 看门狗中断(Watchdog Interrupt, WDI) :在每次看门狗定时器超时结束时,会触发一个中断。
- 中断与复位(Interrupt and Reset) :首次看门狗定时器超时时触发中断,下次超时时系统将复位,除非再次设置WDIE位以阻止复位。只要WDIE位持续被设置,系统就不会复位,仅触发中断。

数据手册中对看门狗定时器的使用给出了警告:若看门狗意外启用(如由失控指针或电源欠压情况导致),设备将复位,且看门狗定时器会保持启用状态。若代码未设置处理看门狗的逻辑,可能会导致超时复位的无限循环。为避免这种情况,即使不使用看门狗,应用程序软件也应在初始化程序中清除看门狗系统复位标志(WDRF)和WDE控制位。

不同的Arduino开发板的引导加载程序对看门狗定时器的处理方式不同。例如,Uno的引导加载程序在启动时会立即禁用看门狗,而Duemilanove的引导加载程序则不会,该开发板会出现看门狗复位循环的问题。以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值