Arduino的看门狗watchdog

Arduino的经典芯片就是328,据说这个片子是内置看门狗的

watchdog.jpg

参考了坐台的栗子

#include <avr/wdt.h>

void setup() {
  Serial.begin(9600);
  wdt_enable(WDTO_8S);
  Serial.println("restart"); 
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  delay(1000);
}

期望结果是每8秒重起,实际不是这样的,8秒后blink灯狂闪,reset键和重新下载程序都无效了,只能拔电了。
有人说UNO不死,结果也死,据说还是bootloader的问题,可能要升级,烧录器又不在手上,麻烦。

UNO的bootloader和Nano的似乎差别还很大
hardware\arduino\avr\bootloaders\optiboot
hardware\arduino\avr\bootloaders\atmega

果然,用1.8.4的IDE,nano的bootloader还是不行,uno的bootloader就可以了。

参考了坐台在狗爬的文章:http://forum.godpub.com/thread-30-1-1.html

标签: none

已有 2 条评论

  1. 鱼线 鱼线

    没有第三方怼看门狗的库吗

    1. 可以参考《从零开始学Arduino电子设计》一书

添加新评论