Forum: Mikrocontroller und Digitale Elektronik Interruptfrage


von Hans (Gast)


Lesenswert?

Folgendes Programm  (ATMEGA128):


#include <AVR/io.h>
#include <AVR/Signal.h>
#include <AVR/Interrupt.h>

int main(void)
{
DDRB=0xFF;

sei();
INTERRUPTS richtig setzen,etc;

}


SIGNAL (SIG_INTERRUPT0)
{
PORTB=0xEF;
}


SOBALD ich den Interrupt drücke sollte er mir dauerhaft den PORTB auf
0xEF setzen oder??MAcht er aber nur wenn ich den Taster(Interrupt0)
betätige. Ist das normal bei den AVR´s??

von A.K. (Gast)


Lesenswert?

So lese ich deinen Text:
Satz 1: Taster drücken sollte PORTB setzen.
Satz 2: Taster drücken setzt PORTB.
Problem?

von Simon K. (simon) Benutzerseite


Lesenswert?

lol, apropos
"Ich hätt gern ein Problem" :D

von Hans (Gast)


Lesenswert?

Ich meine sobald ich den Taster einmal betätige sollten die Leds die ich
mit 0xef setzen dauerhaft leuchten da sie im Programm nicht
zurückgesetzt werden ODA?? Das ist aber nicht der Fall!!

von Michael Wilhelm (Gast)


Lesenswert?

Hast du in Main eine Endlosschleife?
MW

von Hans (Gast)


Lesenswert?

Ja!

von A.K. (Gast)


Lesenswert?

Jetzt rück halt mal etwas Information raus. Beispielsweise über die
Harwareumgebung, insbesondere die LEDs. So sind beispielsweise die LEDs
vom STK500 nur an, wenn der Ausgang 0 ist.

von Rolf Magnus (Gast)


Lesenswert?

Erste übliche Frage beim Mega128: Den Mega103-Kompatibilitätsmodus
abgeschaltet?

Dann:

> INTERRUPTS richtig setzen,etc;

Bist du wirklich sicher, daß sie richtig gesetzt sind?

Und dann noch zur Harware:

Alle Versorgungspins ornungsgemäß beschaltet und die
Abblock-Kondensatoren nicht vergessen?

von Rahul (Gast)


Lesenswert?

Was viel interessanter ist:
Hast du den Interrupt überhaupt freigegeben?
Wenn das das komplette Programm ist, dann fehlt da noch was.

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
Noch kein Account? Hier anmelden.