Arduino看门狗定时器的使用

本文介绍了如何在Arduino中使用AVRGCC提供的看门狗API,包括wdt_enable、wdt_disable和wdt_reset函数,以及如何在setup和loop中正确配置和喂狗以防止单片机重启。

看门狗(Watch Dog)是一个独立的定时器,当你开启看门狗后,需要在程序中看门狗定时器溢出前,对其进行 喂狗(复位)操作,否则看门狗会强制你的单片机重启,从头运行程序。

虽然Arduino核心库并未提供看门狗相关的API,但AVRGCC提供了相应的API支持,同样简单易用。需要注意的是Arduino bootloader并不支持看门狗,如果你直接使用看门狗定时器,可能会卡死在bootloader中。如果要使用看门狗建议使用ISP下载器直接下载程序。

在使用该API前,你需要调用相应的头文件wdt.h:

#include <avr/wdt.h>

 

在wdt.h中,提供了3个看门狗API:

wdt_enable(timeout) //看门狗使能 并设置超时时间

wdt_disable() //看门狗禁止

wdt_reset() //看门狗复位

 

wdt_enable(timeout) 中timeout可使用如下常量:

序号

常量

定义

1

WDTO_15MS

看门狗定时器15ms超时

2

WDTO_30MS

看门狗定时器30ms

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值