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.
