Hallo liebe µC-Freunde! Ich habe in AVRStudio mit WinAVR als Plugin folgenden Code geschrieben: #include <avr/interrupt.h> #include <avr/iom16.h> volatile uint8_t test=0; ISR (TIMER2_COMP_vect) { test++; } int main(void) { cli(); DDRD = 0xFF; PORTD = 0; TCCR2 = 0b00011010; OCR2 = 100; sei(); while (1); } Das Programm sollte über den Timer2 alle 100 µs (CPU-Takt 8 Mhz) OC2 togglen und die zugehörige Interruptroutine ausführen. Das togglen klappt auch (sichtbar in der I/O-Ansicht), die Interruptroutine wird jedoch nie erreicht (einmal sichbar am Wert von "test" und am Breakpoint, den ich in die Routine gesetzt habe). Dies pasiert sowohl wenn ich über den JTAG ICE direkt auf dem µC debugge, als auch wenn ich den Mega16 vom AVR Studio simulieren lasse. Ich habe stundenlang rumprobiert, das Manual zum ATMega16 studiert und mich im Internet totgesucht, habe aber keinen Fehler gefunden. Ich hoffe, ihr könnt mir helfen!
Wenn du den Interrupt nicht aktivierst ,dann musst du dich auch nicht wundern wenn er nicht angesprungen wird...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.