Hallo Leute, Ich versuche gerade durch einen Tasterdruck einen Interrupt auszulösen, der in weiterer Folge eine LED zum blinken bringen soll. Soweit so gut, ich habe bereits den Code geschrieben, aber er springt mir einfach nicht in die ISR hinein. Ich hoffe ihr könnt mir helfen :) Taster liegen auf PortE Pin 2-5 und auf PortJ von Pin 2-6 liegt ein Joystick. Ich versuche in erster Linie mit Pin 2 einen Interrupt auslösen, aber wie bereits erwähnt funktioniert das momentan noch nicht. µC ist ein Atmega6450 und programmiert wird mit AVR Studio 5 über JTAG. Taster und LEDs funktionieren einwandfrei. Anbei findet ihr den Code. lg Attila
Attila schrieb: > int taster = 0; volatil int taster = 0; wenn nicht noch ein anderen Fehler drin ist, sollte es so gehen.
So es funktioniert jetzt, ich musste nur in der ISR(), auf PCINT0 bzw. PCINT3 statt auf PCINT2 schreiben. Momentan kann ich aber mit jedem Button von PCINT0 einen interrupt auslösen. Wie kann ich nur auf einen einzigen Button eine spezielle ISR folgen lassen? Also Taster1 -> ISR1 Taster2 -> ISR2 usw.
Geht nicht, du musst in der ISR abfragen, welcher taster gedrückt worden ist.
Ich habe es gerade eben mit einer Pinabfrage in der ISR probiert, funktioniert aber nicht. Er reagiert noch immer auf alle Interrupts und nicht nur auf den einen speziellen. Könnt ihr mir genau sagen wie das gehen soll?
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.