Gast
#432255
Moin! Wollte ein einfaches Testprogramm schreiben mit dem ich über einen Externen Interrupt eine LED einschalten möchte. Folgender Code: int main( void ) { Hw_Ini(); PORTD = 0x00; // alle Pins aus while( 1 ) { } } int Hw_Ini (void) { DDRD = 0x20; // Den Port D, Pin 5 als Ausgang //Interrupts aktivieren SREG = (1<<7); //Globales Interrupt Bit auf 1 MCUCR = 0x0A; //Flankenerkennung für INT1 und INT0 auf negative gestellt GICR = 0xC0; //INT1 und INT0 aktiviert } SIGNAL (EXT_INT0) { PORTD = (1<<5); //Ausgang Pin 5 setzen while( 1 ) { } } SIGNAL (EXT_INT1) { PORTD = (1<<5); //Ausgang Pin 5 setzen while( 1 ) { } } Compiliert wird das ganze ohne Probleme, aber funktionieren tut nichts. Hab mich jetzt schon stundenlang durchs Datenblatt gequält aber ich werd nicht schlauer. Das mit dem Register SREG hab ich iwo aus dem Internet. Ich habe keinerlei Beschreibung im Datenblatt gefunden, immer nur einen Hinweis auf dieses Register. Kann mir vielleicht jmd weiterhelfen?