微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ICCAVR看门狗

ICCAVR看门狗

时间:11-13 来源:互联网 点击:
tools -Application Builder.

Watchdog Timer选中enable后。右边选时钟。自动生成Watchdog Timer所需的数据

//ICC-AVR application builder : 2009-11-1 12:59:57
// Target : M16
// Crystal: 4.0000Mhz

#include
#include

void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
}

//Watchdog initialize
// prescale: 2048K
void watchdog_init(void)
{
WDR(); //this prevents a timout on enabling
WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
watchdog_init();

MCUCR = 0x00;
GICR = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top