tach allesamt,
Ich versuche gerade mit einem mega8 in Bascom eine schaltung zu realisieren, die standartmässig die rote LED auf meinem myAVR Board leuchten lässt und sobald man den Taster drückt, für die Dauer des Drucks die rote abschaltet und die grüne erleuchten lässt.
Das will ich über die externen interrupts realisieren.
Hier mal mein Code, das problem schildere ich unten:
problem ist jetzt, dass statt der roten immer die grüne leuchtet, dazu leuchtet auch noch die rote standig , aber nur ganz dunkel. Wenn ich jetzt den Taster drücke, passiert nichts, außer dass abundzu einmal die rote heller aufflackert.Code:$regfile = "m8def.dat" $crystal = 8000000 Dim Pressed As Bit Pressed = 0 Config Int0 = Falling 'INT0 wird aufgerufen, sobald der Taster gedrückt wird. Enable Interrupts Enable Int0 Config Portd = Input Portd = &B11111111 ' Pull-up Widerstatände aktivieren Config Portb = Output Portb = &B00000001 'nach reset soll rot leuchten On Int0 Isrint0 Isrint0: If Pressed = 0 Then Portb = &B00000010 'grüne LED anmachen (an PinB.1) Config Int0 = Rising Pressed = 1 Elseif Pressed = 1 Then Portb = &B00000001 'rote LED wieder anmachen (an PinB.0) Config Int0 = Falling Pressed = 0 End If Return Do Loop End
ich hoffe ihr könnt mir helfen, wobei mir wirklich wichtig ist, das über die interrupts zu steuern.
*Danke*
EDIT:
mir ist aufgefallen, dass WENN die rote LED mal flackert, dass dann auch gleichzeitig die grüne mit erlischt. Immerhin etwas wie es sein soll.







Zitieren

Lesezeichen