initialize()
描述
初始化 86Duino 的看门狗计时器,并指定其工作模式。
语法
TimerWDT.initialize()
TimerWDT.initialize(time)
TimerWDT.initialize(time, mode)
参数
time
:设定看门狗计时器的时间週期,单位为微秒(us)。可以设定的最长时间为 512 秒(512000000us);如果没有指定,其预设值为 500ms(等于 500000us)。
mode
:设定看门狗计时器工作模式。型别为 boolean
,说明如下,预设值为 false
:
true
:看门狗模式(即到达指定时间便将 86Duino 重新开机)。false
:计时中断模式(即到达指定时间便执行使用者 ISR 一次,为预设模式)。
回传
无回传值
范例
设定看门狗计时器为计时中断模式,每隔 100ms 点亮和熄灭 LED:
#include <TimerWDT.h> void setup() { pinMode(13, OUTPUT); TimerWDT.initialize(100000); // 设定 100ms 时间週期 TimerWDT.attachInterrupt( timerIsr ); // 挂载使用者 ISR,每隔 100ms 执行一次 } void loop() {} // 使用者 ISR void timerIsr() { // 交替点亮和熄灭 LED 灯 digitalWrite( 13, digitalRead( 13 ) ^ 1 ); }
设定看门狗计时器为看门狗模式,每隔 30 秒重置一次系统:
#include <TimerWDT.h> void setup() { TimerWDT.initialize(30000000, true); // 设定 30s 时间週期 } void loop() { // 使用者程式 ... }
See also
- attachInterrupt()()
- detachInterrupt()
- setPeriod()
- reset()
- isResetByWDT()
- stop()
The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.