首页 文章

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

提问于
浏览
0

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

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

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

非常感谢任何帮助 .

1 回答

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

    • 我从来没有使用过针中断,但似乎谷歌通过示例代码给出了一些不错的结果 . 你试过谷歌给出的结果吗?

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

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

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

相关问题