Zitat Zitat von elcapitano
Aber es handelt sich ja auch um zwei debounce Befehle
Hallo elcapitano!

Zwei DEBOUNCE-Befehle. Dann funktioniert das natürlich nicht. Wenn dann nur ein DEBOUNCE-Befehl je Taster. Und die Menüebene merkst du dir in einer Variable.

Code:
$regfile = "M8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
$baud = 38400


'TASTER1 an PD2 (zieht nach VCC; Pollin Eval-Board)
Taster1 Alias Pind.2
Config Pind.2 = Input

'TASTER2 an PD3 (zieht nach VCC; Pollin Eval-Board)
Taster2 Alias Pind.3
Config Pind.3 = Input

Dim Old_menu_level As Byte
Dim New_menu_level As Byte


Old_menu_level = 255

Do
   Debounce Taster1 , 1 , On_taster1 , Sub
   Debounce Taster2 , 1 , On_taster2 , Sub

   If New_menu_level <> Old_menu_level Then
      Select Case New_menu_level
      Case 0
         Print "Hauptmenue"
      Case 1
         Print "Menue 1"
      Case 2
         Print "Menue 2"
      Case 3
         Print "Menue 3"
      End Select
      Old_menu_level = New_menu_level
   End If
Loop

End


On_taster1:
   Select Case New_menu_level
   Case 0 To 2
      New_menu_level = New_menu_level + 1
   Case 3
      'Nichts tun (oder vielleicht einen Ton ausgeben)
   End Select
Return


On_taster2:
   Select Case New_menu_level
   Case 0
      'Nichts tun (oder vielleicht einen Ton ausgeben)
   Case 1 To 3
      New_menu_level = New_menu_level - 1
   End Select
Return
mfg
Gerold
:-)