Hallo! Ich versuche momentan einen ext. Interrupereignis über einen Taster zu Programmieren.(INT0, PD2) Aber ich bekomme es einfach nicht zum laufen, daher ein paar Fragen: - interrupt.h ist eingebunden. - GICR |= (1<<INT0); //Interrupt INT0 aktivieren - MCUCR |= (1<<ISC01); //Interrupt INT0 auf steigende Flanke setzen MCUCR |= (1<<ISC00); - Taster ist als Eingang konfiguriert - ISR(INT0_vect) {} ist gesetzt. Dazu eine Frage: Muss ich hier alle Tasten/Display neu Initialisieren oder übernimmt er das vom Hauptprogramm? Eigentlich sollte es doch schon laufen oder? Danke
1.: Für Taster nimmt man keine externen Interrupts. 2.: Wie sieht es mit Entprellung aus? 3.: Stimmt die Flankeneinstellung überhaupt? Taster sind i.d.R. nach Masse angeschlossen, um die internen Pull-Ups nutzen zu können. Das gibt beim Drücken eine fallende Flanke. 4.: Schau Dir bitte das Tutorial an!
5. sind die Interrupts mittels sei überhaupt zugelassen? 6. Du sitzt vor deinem Code und kannst das Problem nicht sehen. Wir haben keinen Code und trotzdem denkst du wir wüssten was du programmiert hast. Das ist doch nicht dein Ernst?
int main(){ //initialilze GICR |= (1<<INT1); // enable INT1 MCUCR |= (1<<ISC11); // INT1 on falling edge sei(); // general Interrupt enable while(1){ } } ISR(INT1_vect) { }
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.