Auf Papier: Timer und Zähler für AVR-Mikrocontroller erklärt
Teilen
Es gibt eine interne Uhr im Mikrocontroller. Standardmäßig tickt diese Uhr eine Million Mal pro Sekunde (1 Megahertz oder 1 MHz). Der AVR-Mikrocontroller, den Sie in diesen Videos sehen, tickt tatsächlich 8 Millionen Mal pro Sekunde (8 MHz), aber die Fuses im Mikrocontroller sind auf einen 8-fachen Prescaler für diese Uhr eingestellt. Das bedeutet, dass die Uhr für jeweils 8 Ticks um einen Tick weitergeht. TCNT1 ist der 16-Bit-Zähler. TCNT0 ist der 8-Bit-Zähler. TCNT zählt mit der internen Uhr. Da diese 8 und 16 Bit haben, kann TCNT natürlich nicht bis zu einer Million zählen, sondern bis zu 255 für 8 Bit und 65535 für 16 Bit. Sie können den Timer/Zähler so einstellen, dass er auf ein eingehendes Signal von einem Pin reagiert oder ein Signal in festgelegten Intervallen an einen Pin sendet. Die interne Uhr kann auch weggelassen werden, und zwei andere Pins des Mikrocontrollers, XTAL, können mit einer anderen Taktquelle verbunden werden, wie einem Quarzoszillator oder einem Keramikresonator. Dies wird normalerweise getan, um einen präziseren Takt zu erhalten, da die interne Uhr einen Fehler von +/- 10 % aufweist.