极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12176|回复: 6

关于看门狗定时器的问题

[复制链接]
发表于 2013-12-28 14:11:38 | 显示全部楼层 |阅读模式
用zigbee做了arduino和pcduino的通信,但程序跑一会就死了,按下reset就又正常了,网上搜了搜大家好像有用看门狗定时器解决的,但看了半天不知道怎么用,还要先烧bootload什么的,实在不懂,我用的是uno板子,求教具体该怎么使用,或者有其他什么方法解决没有,谢谢了。
回复

使用道具 举报

发表于 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);  
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 17:38:10 | 显示全部楼层
bg1lsy 发表于 2013-12-28 15:33
#include
#include
#include

这个运行时间是由什么决定的?
回复 支持 反对

使用道具 举报

发表于 2013-12-28 20:48:00 | 显示全部楼层
我觉得你应该确定一下是不是你什么东西有问题导致他会死掉,找到根本原因比加狗要好得多。

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

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

使用道具 举报

发表于 2013-12-28 21:30:43 | 显示全部楼层
bg1lsy 发表于 2013-12-28 15:33
#include
#include
#include

还有看门狗用法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-29 13:21:50 | 显示全部楼层
zoologist 发表于 2013-12-28 20:48
我觉得你应该确定一下是不是你什么东西有问题导致他会死掉,找到根本原因比加狗要好得多。

比如:前几天 ...

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

使用道具 举报

发表于 2013-12-29 14:29:55 | 显示全部楼层
huozhen 发表于 2013-12-29 13:21
听你的检查了下,是程序问题,现在不死了,但设置的看门狗程序好像不能使用,我运行超过四秒它也不会重启 ...

呵呵 找到原因就好了

看门狗我没有用过唉
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 12:30 , Processed in 0.036893 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表