hi,

für mein kleines LED-Projekt:

https://www.roboternetz.de/phpBB2/ze...478&highlight=

muß ich "wild" im Programm umherspringen....

Geplant ist eine Menüführung mit Untermenü´s.
Die Steuerung soll über drei Tasten "UP"; "DOWN"; ENTER geschehen.

Der Pin "PordD.2" wird über Interrupt als Entertaste aus unterschiedlichen Programmteilen abgefragt.

Code:
...
Config Timer2 = Pwm , Compare B Pwm = Clear Down , Prescale = 64  
...
Enable Timer2                                               'Timer2 starten
On Timer1 Enter:
Enable Interrupts
...




Enter:                                                      'Entertaste abfragen
Debounce Pind.2 , 0 , Eingabe , Sub
If Enter = 1 And Wechsel = 1 Then
   Enter = 0
   Wechsel = 0
   Goto Untermenu
End If
Return

...

Sub Eingabe
Up = 0 : Down = 0 : Enter = 1
End Sub


Untermenu:
...
...
...
...

Wird die Enter-Taste nicht betätigt verlässt das Programm die Subroutine normal mit Return.
bei jeder Betätigung der Entertaste bleibt mir eine Sprungadresse im Stack liegen.


Wie kann ich das vermeiden? Steh da ein wenig auf dem Schlauch...


liebe Grüße,

Klingon77