/***********************************************
**** AVR 复位检测和控制看门狗的范例 ***
**** ***
**** 作者: HJJourAVR ***
**** 编译器:WINAVR20050214 ***
***********************************************/
/*
本程序简单的示范了AVRATMEGA16的复位检测和控制看门狗
系统控制和复位
复位来源的检测
JTAG复位指示
看门狗复位指示
BOD复位指示
RESET引脚复位指示
上电复位指示
看门狗的控制
出于简化程序考虑,各种数据没有对外输出,学习时建议使用JTAG ICE硬件仿真器。
熔丝位设置
1 使能BOD功能 BODEN=0
2 选择BOD电平 BODLEVEL=1 2.7V(VCC=3V) (可选)
BODLEVEL=0 4.0V(VCC=5V) (可选)
*/
#include
#include
//时钟定为内部RC 1MHz,F_CPU=1000000 也可以采用其他时钟
#include
/*
wdt.h里面
看门狗溢出时间常量定义
#define WDTO_15MS 0
#define WDTO_30MS 1
#define WDTO_60MS 2
#define WDTO_120MS 3
#define WDTO_250MS 4
#define WDTO_500MS 5
#define WDTO_1S 6
#define WDTO_2S 7
下面的4S/8S定义只能用于 ATtiny2313, ATmega48, ATmega88 and the ATmega168.
#define WDTO_4S 8
#define WDTO_8S 9
看门狗操作函数
wdt_disable()
关闭看门狗
wdt_enable(timeout)
使能看门狗及溢出时间设定
wdt_reset()
复位看门狗(喂狗)
*/
//管脚定义
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !