#include <avr/io.h> #include <avr/interrupt.h> #include <stdint.h> volatile uint32_t millis = 0; // WICHTIG! Variable volatile setzen! // ***** Interrupt Service Routine ***** ISR(TIMER0_COMPA_vect) { millis++; // hochzählen TCNT0 = 0; // Zähler zurücksetzen } int main(void) { TCCR0B = 0b00000011; // Prescaler 64 OCR0A = 200; // Bei 200 ist eine ms abgelaufen TIMSK0 = 0b00000010; // OC Match IRQ freischalten sei(); // Interrupts global einschalten while (1) { } }