immer Reset wenn ich einen externen Int. auslösen

Gast #149090
Lesenswert?

Hallo Alle,

ich habe ein Problem mit meinem MEGA 128 und den externen Interrupts.
Immer wenn ich einen externen Int. auslöse (Eingang auf "0" ziehen)
dann startet der µC immer wieder vom Anfang seines Programms und macht
nicht an der Stelle weiter an der der Int. ausgelöst worden ist.

Kurz zum Programm:

EICRB=0xAA;  // die Interrupts INT 7-4 triggern bei fallender Flanke
enable_external_int ((1<<INT4) | (1<<INT5) | (1<<INT6));
sei();  // ist klar


ich weiß leider nicht woran es liegt..

vielleicht hat ja jemand eine Idee

Ciao René
Gast #149092
Lesenswert?

Hallo Florian,

danke für deine Hilfsbereitschaft, anbei mein Code. Auf meinem Displaxy
wird dabei im Sekundenschritt von 0-9 gezählt und wenn ich einen Int.
auslöse, dann soll die Hintergrundbeleuchtung des Displays blinken und
danach soll er an der entsprechenden Stelle weiterzählen.

Vielen Dank
Angehängte Dateien:
Gast #149093
Lesenswert?

Hallo René,

das einzige was mir aufgefallen ist, dass du die Interrupts 4-6
aktivierst, aber nur für INT 4 einen Handler hast. Könnte mir
vorstellen, dass du vielleicht einen anderen Interrupt auslöst, für
welchen keinen Handler zur verfügung steht. Der Controller fängt dann
von Vorne mit dem Programm an.
Ich weiß aber auch nicht wie du die Interrupt-Pins beschaltet hast. Ich
würde die Pull-Ups trotzdem einschalten.

Gruß, Florian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren