Arduino:使用看门狗来防止故障和节能

时间:2016-03-08 10:12:12

标签: arduino watchdog

当我试图找到一种可靠的方法来使用看门狗防止故障(代码锁定)和使用Arduino节省电池时,我遇到了this website

我尝试了代码并且运行正常。但是,我还想使用串行监视器。我尝试添加Serial.begin(9600);但是,在设置中,串行监视器中显示的大部分内容(来自主循环中的代码)都是奇怪的字符(波特率设置为9600)。这与在代码中配置wdt和Serial.begin(9600)的位置的功能有关吗?

我还想使用外部中断(通过数字引脚3上的按钮)将电路板从睡眠状态唤醒。如何根据当前代码实现?我知道如何使用一种不同的方法来让电路板在不使用任何看门狗的情况下进入睡眠状态,但是,我没有成功使用此代码。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  • 如上所述,串行通信应该可以正常工作。在没有代码的监视器部分的情况下,您确定能够使串行通信正常工作吗?我已经使用了网站上提供的看门狗提示以及串行通信而没有Arduino Uno的任何问题,所以我猜测串行通信问题在于代码中的其他地方。 你能用看门狗管理部分编写代码的裸骨示例,在循环()中的某个地方进行串行通信,如果你想要一些延迟/无限循环来测试看门狗发射,请在此处发布,测试它你的董事会并说明你是否/在哪里遇到问题?

  • 我从来没有使用过pin中断,但似乎谷歌通过示例代码给出了一些不错的结果。您是否尝试过谷歌提供的结果?

https://www.arduino.cc/en/Reference/AttachInterrupt

http://www.allaboutcircuits.com/technical-articles/using-interrupts-on-arduino/

您必须小心选择放置中断的引脚,如Arduino Reference中所述,只有引脚2和3支持Uno上的中断。