Gast
#366378
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!