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.