看门狗无法使用,怎么破?
arduino nano和arduino pro mini 无法使用看门狗,无限复位,如果要使用看门狗,怎么破? 具体描述一下你的问题,这个功能是arduino 用的 avr上的功能,我觉得不太可能有问题 zoologist 发表于 2014-12-9 21:13 static/image/common/back.gif具体描述一下你的问题,这个功能是arduino 用的 avr上的功能,我觉得不太可能有问题
比如
#include <avr/wdt.h>
const int ledPin =13; // 定义LED管脚
void setup() {
//初始化LED为输出
pinMode(ledPin, OUTPUT);
//初始化看门狗
wdt_enable(WDTO_1S);
}
void loop()
{
//LED常亮
digitalWrite(ledPin, HIGH);
//喂狗,注释本句查看有没有重启
delay(2000);
wdt_reset();
}
当去执行复位的时候,arduino 的L灯就一直在闪,无法复位,手动按复位键都没无法复位了,得断电才行。 神游天外 发表于 2014-12-10 15:01 static/image/common/back.gif
真的真的真的真的真的
你解决这个现象了吗? 紫/aiq龙 发表于 2014-12-13 14:44 static/image/common/back.gif
你解决这个现象了吗?
我也遇到了这个问题,不知道怎么解决。。。 你的看门狗设置成1s超时,但是程序里面喂狗是每个2s钟啊,喂不到,当然无限重启了,喂狗间隔设置到1s以内试试 xuanjj 发表于 2015-1-4 15:56 static/image/common/back.gif
你的看门狗设置成1s超时,但是程序里面喂狗是每个2s钟啊,喂不到,当然无限重启了,喂狗间隔设置到1s以内试 ...
正确!:lol xuanjj 发表于 2015-1-4 15:56 static/image/common/back.gif
你的看门狗设置成1s超时,但是程序里面喂狗是每个2s钟啊,喂不到,当然无限重启了,喂狗间隔设置到1s以内试 ...
我设置成8s都是不行 terry—sun 发表于 2014-12-29 16:31 static/image/common/back.gif
我也遇到了这个问题,不知道怎么解决。。。
没解决,只是用多了一块板子,直接当看门狗用了 试试这样用看门狗行不?
#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位
} 试试如上代码行不?
页:
[1]