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
:-)
Lesezeichen