huozhen 发表于 2013-12-28 14:11:38

关于看门狗定时器的问题

用zigbee做了arduino和pcduino的通信,但程序跑一会就死了,按下reset就又正常了,网上搜了搜大家好像有用看门狗定时器解决的,但看了半天不知道怎么用,还要先烧bootload什么的,实在不懂,我用的是uno板子,求教具体该怎么使用,或者有其他什么方法解决没有,谢谢了。

bg1lsy 发表于 2013-12-28 15:33:51

本帖最后由 bg1lsy 于 2013-12-28 15:53 编辑

#include <avr/io.h>
#include <avr/wdt.h>
#include <arduino.h>

#define LED_PIN 13 //LED引脚

void setup(){
pinMode(LED_PIN,OUTPUT);
digitalWrite(LED_PIN,HIGH);
wdt_enable(WDTO_4S);//看门狗设成4S
}

void loop(){
wdt_reset();//喂狗
//以下内容换成你自己的代码,如果代码运行时间超过4秒或程序跑飞则单片机会重启
digitalWrite(LED_PIN,LOW);
delay(1000);
}

huozhen 发表于 2013-12-28 17:38:10

bg1lsy 发表于 2013-12-28 15:33 static/image/common/back.gif
#include
#include
#include


这个运行时间是由什么决定的?

zoologist 发表于 2013-12-28 20:48:00

我觉得你应该确定一下是不是你什么东西有问题导致他会死掉,找到根本原因比加狗要好得多。

比如:前几天我做东西发现一触发就会死,研究了很长时间,最后发现是灌电流太大导致的。

如果你能确定是硬件某个地方有问题,知道root cause再加狗,心里也算有个数。

万马奔腾 发表于 2013-12-28 21:30:43

bg1lsy 发表于 2013-12-28 15:33 static/image/common/back.gif
#include
#include
#include


还有看门狗用法

huozhen 发表于 2013-12-29 13:21:50

zoologist 发表于 2013-12-28 20:48 static/image/common/back.gif
我觉得你应该确定一下是不是你什么东西有问题导致他会死掉,找到根本原因比加狗要好得多。

比如:前几天 ...

听你的检查了下,是程序问题,现在不死了,但设置的看门狗程序好像不能使用,我运行超过四秒它也不会重启。

zoologist 发表于 2013-12-29 14:29:55

huozhen 发表于 2013-12-29 13:21 static/image/common/back.gif
听你的检查了下,是程序问题,现在不死了,但设置的看门狗程序好像不能使用,我运行超过四秒它也不会重启 ...

呵呵 找到原因就好了

看门狗我没有用过唉
页: [1]
查看完整版本: 关于看门狗定时器的问题