Arduino 单片机为 UNO,NANO和MEGA 2560。UNO 和 NANO 都使用的是 ATmega328 芯片,这款芯片有3个定时器,Timer0,Timer1,Timer2,其中Timer0和Timer2都是8位寄存器(256),Timer1是16位寄存器(65536),意味着更高的分辨率。mege2560 使用的是 ATmege2560 芯片,这款芯片有 6 个定时器,在328 的基础上,增加了 Timer3,Timer4,Timer5。这三个定时器都是16位的寄存器。
定时器0:
Timer0是一个8位定时器。在Arduino世界中,timer0用于定时器功能,如delay(),millis()和micros()。如果更改timer0寄存器,这可能会影响Arduino定时器功能。
定时器1:
Timer1是一个16位定时器。在Arduino世界中,Servo库492在Arduino Uno上使用timer1(Arduino Mega上的timer5)。
定时器2:
Timer2是一个8bit定时器,如timer0。在Arduino工作中,tone()函数使用timer2。
//
MsTimer2封装了Timer2的定时器,因为为第三方库,所以需要先安装MsTimer2库