Hallöle,
Ich versuche mich grad daran eine Navigation für ein LCD - Display zu programmieren. Mit dem Hauptnavigation hat das soweit geklappt und ich kann zwischen Menupunkten herumswitchen. Nun möchte ich, dass wenn ich einen Punkt anwähle und den Taster eines Drehencoder drücke ich in eine weitere Navigation komme. Dabei möchte ich aber den Taster nicht permanent gedrückt halten um in diesem Menu zu bleiben. Leider hab ich keine Ahnung oder keine weitere Idee wie ich dies anstelle. Zurzeit sieht der Quellcode so aus:
Code:$regfile = "m16def.dat" $crystal = 16000000 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0 Config Lcd = 16 * 2 Config Pinc.5 = Input Config Pinc.6 = Input Config Pinc.7 = Input Dim Links_boolean As Byte Dim Rechts_boolean As Byte Dim Ec_wert As Byte Dim Menu As Byte Dim Untermenu As Byte Links_boolean = 0 Rechts_boolean = 0 Ec_wert = 0 Menu = 0 Untermenuwert = 0 Declare Sub Untermenu Initlcd Cursor Off Main: Do Ec_wert = Encoder(pinc.6 , Pinc.7 , Links , Rechts , 1) Debounce Pinc.5 , 0 , Untermenu , Sub If Links_boolean = 1 Then Incr Menu Links_boolean = 0 End If If Rechts_boolean = 1 Then Decr Menu Rechts_boolean = 0 End If If Menu > 7 Then Menu = 0 Select Case Menu Case 0: Cls Locate 1 , 1 Lcd "Home" Case 2: Cls Locate 1 , 1 Lcd "LED" Case 4: Cls Locate 1 , 1 Lcd "Rolllaeden" Case 6: Cls Locate 1 , 1 Lcd "Licht Haus" End Select Loop Sub Untermenu: Ec_wert = Encoder(pinc.6 , Pinc.7 , Links , Rechts , 1) If Links_boolean = 1 Then Incr Untermenu Links_boolean = 0 End If If Rechts_boolean = 1 Then Decr Untermenu Rechts_boolean = 0 End If If Untermenu > 3 Then Untermenu = 0 If Menu = 0 Then Select Case Untermenu Case 0: Cls Locate 1 , 1 Lcd "Home Untermenu" Case 2: Cls Locate 1 , 1 Lcd "Home Untermenu2" End Select End If End Sub Links: Incr Links_boolean Return Rechts: Incr Rechts_boolean Return End
Besonders bei dem Debouncen und der Subroutine bin ich mir noch unsicher wie das geht. Vielleicht könnt ihr mir ja helfen
Mfg Blacksun
Edit: Ich bin auch dankbar bei Tipps zur Quellcodeverkürzung oder Quellcodeumgestaltung
Lesezeichen