我是Arduino世界的新手.写下面的代码 - 使用DHT22传感器.12小时后,我的温室加热器低于所需温度时没有开启.
在关闭电源并重新开启之后,一切都恢复正常.我知道这段代码非常混乱 - 但它是否有任何内存泄漏?或者其他可能导致它停止工作的东西?
编辑 - 我发现一个开放的计数器,每2秒增加1.我无法想象就是这样,但我在这里改了:http://pastebin.com/nuRjHJkR
旧军建议:
如果你无法修复它,请将其涂漆.
看门狗定时器存在于这些微控制器中,只是为了让您的工厂保持活力,无论您的代码如何.每次通过循环(),你都会用简单的方式喂狗
wdt_reset();
Run Code Online (Sandbox Code Playgroud)
如果你的程序挂起并停止喂狗,MCU将重置.
您可以在setup()中配置监视程序的超时.出于您的目的,您可以使用8秒的大超时,这应该在最长的循环()执行时间上提供巨大的余量.这些传感器读取需要多长时间?
有关简单描述,请参阅Arduino页面中的链接: watchdog
| 归档时间: |
|
| 查看次数: |
3046 次 |
| 最近记录: |