Hallo zusammen.
Versuche mich gerade an Timer-Interrupt. uC-Schaltung läuft nicht, kein Blinken.
Warnung vom Compiler;
'TIM1_COMPA' appears to be a misspelled signal handler, missing __vector prefix [-Wmisspelled-isr]
Wo liegt der Fehler?
Code:#define F_CPU 1000000UL // int.Takt als Macro übernehmen #include <avr/interrupt.h> // Interrupt einbinden, damit Interrupt funktioniert ISR(TIM1_COMPA) // Interrupt Service Routine (Seite 48), sobald Vergleichswert OSR1A erreicht wird { PORTB ^= (1<<PB0); // LED blinkt } int main(void) { DDRB |= (1<<PB0); // LED als Ausgang TCCR1B |= (1<<WGM12) | (1<<CS11); // Timer1 (16bit), CTC-Mode, Prescaler=8 TIMSK1 |= (1<<OCIE1A); // Interrupt für Timer1, Interrupt auslösen sobald Vergleichswert erreicht wird OCR1A = 62500; // OCRx = (Wunschzeit bis 1 Interrupt * f_CPU/Prescaler) - 1 // 500ms*1 000 000/8=62500 // bei 100ms=12499 sei(); // Interrupt´s werden gestartet und läuft im Hintergrund while(1) { } }







Zitieren
Hoffentlich liegt das Ziel auch am Weg 

Lesezeichen