Arduino 中的看门狗定时器
看门狗定时器是任何微控制器的重要组成部分。如果程序卡在任何地方,它会重置程序。非常简单,这就是看门狗定时器的工作原理-
计时器不断增加。
程序必须确保它不断重置定时器,即不允许它溢出。
如果计时器溢出,则意味着程序卡在某处,因此无法重置计时器。定时器溢出时产生中断,复位微控制器。
为了在Arduino中实现看门狗定时器,我们使用avrwdt库。
代码如下-
#includevoid setup() { Serial.begin(9600); wdt_disable(); //禁用WDT delay(3000); wdt_enable(WDTO_2S); //启用WDT,超时时间为2秒 Serial.println("WDT Enabled"); } void loop() { for(int i = 0; i<5; i++) { Serial.println("Looping"); delay(1000); wdt_reset(); //重置看门狗 } while(1); //看门狗定时器应该在这里触发 }
如您所见,我们初始化Serial并首先禁用看门狗定时器。然后引入3秒的延迟。程序不会在这里重置,因为看门狗被禁用。现在,超时为2秒的看门狗定时器已启用。这意味着,如果程序没有在每2秒内重置此计时器,则看门狗将被触发并重新启动微控制器。
在循环中,我们首先向串行打印5秒,确保每秒重置看门狗。到目前为止,该程序运行良好。然后,我们进入一个无限的while循环。在这里,由于我们没有重置wdt,它将被触发并重新启动Arduino。
请注意,预设看门狗超时值的范围为15ms至8s。
热门推荐
4 医政科祝福语简短
10 家长祝福语大全简短内容
11 离别简短的祝福语大全
12 国庆求婚祝福语简短精辟
13 初六开工祝福语简短
14 青春告白祖国简短祝福语
15 婆婆生日祝福语短语简短
16 元旦联谊祝福语简短精辟
17 新年简短的祝福语爱情
18 周末祝福语简短的英语