Arduino
的定时器中断
当你想让代码在一个固定的时间间隔后执行时,
你可以很容易的用
delay()
函数来实现。
但是,
这只是让程序暂停一个特定的时间段。
特别是如果你需要同时让处理器做其他处理时,
这么
做同时也是一种浪费。
这时候就是定时器(
Timer
)和中断(
Interrupt
)的用武之地了。
Arduino UNO
有三个
timer
timer0 -
一个被
Arduino
的
delay()
,
millis()
和
micros()
使用的
8
位定时器
timer1 -
一个被
Arduino
的
Servo()
库使用的
16
位定时器
timer2 -
一个被
Arduino
的
Tone()
库使用的
8
位定时器
"Arduino Mega"
板有另外三个可使用的
timer3,4,5
,而不是只有
timer0,1,2
在以下的例子中,我们将在我们的中断使用
timer1
。显然,如果你用