hä? was hast du gemacht? schick mal bitte deinen quellcode ^^
Martin
Ich experimentiere gerade mit meinen LCD Add-On rum und habe es auch schon geschafft Text anzuzeigen. Nun probiere ich den angezeigten Text per Tasterdruck zu verändern und zwar so, dass er auch auf dem LCD lesbar bleibt, wenn man den Taster loslässt.
Mein Versuch:
Eine LED an PinC.0 ein Taster an PinC.1. Die LED leuchtet durchgehend, das LCD zeig "LED ein" an und wenn man auf den Taster drückt geht die LED aus. Dementsprechend zeigt das LCD "LED aus" an. Lässt man den Taster nun los, geht die LED wieder an, doch sie soll aus bleiben.
Ich habe es schon mit Debounce versucht, das funktioniert mit der LED aus soweit, doch wie kann ich da den LCD Text einbinden?! Oder gibt es dafür extra Befehle?!
hä? was hast du gemacht? schick mal bitte deinen quellcode ^^
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Der Code geht auch soweit. Nur ich möchte, dass es so wie mit Debounce ist. Taster einmal drücken: LED aus und LCD sagt "LED aus". Taster wieder drücken LED an und LCD sagt "LED an".Code:'Deklarationen $regfile = "m8def.dat" $crystal = 8000000 Ddrc = &B00000010 Portc = &B00000001 'LCD Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcdbus = 4 'Programm Do If Pinc.0 = 1 Then Portc.1 = 1 Cls Locate 1 , 1 Lcd "LED ein" Else Portc.1 = 0 Cls Locate 1 , 1 Lcd "LED aus" End If Loop End
Wenn ich das in Debounce umwandle, funktioniert das mit der LED auch wunderbar, nur die LCD Ausgabe stimmt nicht mehr. Am Anfang ist sie noch richtig, also "LED ein" und wechselt beim ersten Mal Taster drücken auch auf "LED aus" nur bleibt sie dann immer so und schaltet nicht mehr auf "LED ein" um, wenn die LED per Taster wieder eingeschaltet wird.
so, dass sollte es sein, brauchst dann zwei debs:
MartinCode:'Deklarationen $regfile = "m8def.dat" $crystal = 8000000 Ddrc = &B00000010 Portc = &B00000001 'LCD Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcdbus = 4 'Programm Do Debounce Pinc.0 , 1 , Led_ein Debounce Pinc.0 , 0 , Led_aus Loop End 'Subroutinen Led_ein: Portc.1 = 1 Cls Locate 1 , 1 Lcd "LED ein" Return Led_aus: Portc.1 = 0 Cls Locate 1 , 1 Lcd "LED aus" Return
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Kleine Frage
sind LCD Texte so einfach?
Lcd "Text"
?
wow ...
Naja ... Basecom halt ...
Ich will allerdings nicht den Code sehen den der Compiler daraus erstellt ...
och das mit dem code hält sich noch stark in grenzen ^^
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Hm der Code funktioniert leider auch nur so, wie meiner. Die LED leuchtet und das LCD zeigt an "LED ein" und wenn man den Taster betätigt geht die LED so lange aus, wie man den Taster gedrückt hält. Lässt man ihn los, so geh die LED wieder an.
Ich würde aber gerne haben, dass die LED aus bleibt und erst beim nächsten Tasterdruck wieder angeht und dazu eben das LCD die korrekten Daten ausgibt.
achsooooo, na dann lass mich nochmal dran, iss gleich wieder fertig ^^
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Code:'Deklarationen $regfile = "m8def.dat" $crystal = 8000000 Ddrc = &B00000010 Portc = &B00000001 'LCD Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcdbus = 4 Dim Led As Bit 'Programm Do Debounce Pinc.0 , 1 , Flag If Led = 1 Then Gosub Led_ein If Led = 0 Then Gosub Led_aus Loop End 'Subroutinen Led_ein: Portc.1 = 1 Cls Locate 1 , 1 Lcd "LED ein" Return Led_aus: Portc.1 = 0 Cls Locate 1 , 1 Lcd "LED aus" Return Flag: Toggle Led Return
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Lesezeichen