|
|
发表于 2015-1-31 22:22:36
|
显示全部楼层
试试这样用看门狗行不?
- #define Pin 4
- bool test = 0;
- void setup()
- {
- pinMode(Pin,OUTPUT);
- digitalWrite(Pin,test);
- //设置、启动看门狗,
- MCUSR &= ~(1<<WDRF); //清除WDRF
- WDTCR |= (1<<WDCE) | (1<<WDE); //设置信号
- WDTCR |= (1<<WDE) | (1<<WDP2) | (1<<WDP1) | (1<<WDP0); //设置WDP和启动看门狗WDE,必须在4个周期内完成,此处为2s的周期
- for (byte i = 0; i <3; i++)
- {
- digitalWrite(Pin,test = !test);
- delay(50);
- }
- }
- void loop()
- {
- //喂狗
- __asm__ __volatile__ ("wdr");
- digitalWrite(Pin,test = !test); delay(300);
-
- //关闭看门狗
- // WDTCR |= (1<<WDCE) | (1<<WDE); //设置信号
- // WDTCR = 0x00; //清除WDE位
- }
复制代码 |
|