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??
So lese ich deinen Text: Satz 1: Taster drücken sollte PORTB setzen. Satz 2: Taster drücken setzt PORTB. Problem?
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!!
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.