【发布时间】:2016-06-22 05:29:33
【问题描述】:
当我试图找到一种可靠的方法来使用看门狗来防止故障(代码锁定)并使用 Arduino 节省电池时,我遇到了 this website。
我尝试了代码,它运行良好。但是,我也想使用串行监视器。我尝试添加 Serial.begin(9600);然而,在设置中,串行监视器中显示的大部分内容(来自主循环内的代码)都是奇怪的字符(波特率设置为 9600)。这与配置 wdt 的功能和代码中 Serial.begin(9600) 的位置有关吗?
我还想使用外部中断(通过数字引脚 3 上的按钮)将板从睡眠中唤醒。如何根据当前代码实现?我知道如何在不使用任何看门狗的情况下使用不同的方法使电路板进入睡眠状态,但是,我未能成功使其与此代码一起使用。
非常感谢您的帮助。
【问题讨论】:
-
串口和看门狗应该不是问题。您是否将看门狗时间设置为短? ... 可能你的例程太长了?
-
我已将其设置为看门狗触发前的时间为 8 秒。而且程序有延迟,需要2秒多一点,所以看门狗时间太短应该不是问题。我添加了 Serial.begin(9600);在设置后的第一行,并显示程序正在启动的消息。这在串行监视器中显示良好。主循环中的任何打印都只是随机字符。
-
序列号应该不是问题。看这里:forum.arduino.cc/index.php?topic=63651.0
-
在 setup(); ,我添加了 Serial.begin(9600);在这一行下面是 Serial.println("starting...");这些在串行监视器中显示良好。主循环()中的任何打印都只是随机字符。