hast Du schon die Libs auf das neue Display angepasst ? sonst wird das nichts mit der dritten und vierten Zeile.
Hallo Liebes Forum
Ich hab mir vom C ein 16x4 Display gegönnt, Artikel.-Nr.: 183048. Mein Problem: Wie änder ich im Quelltext der Beispiel Dateien so ab, das zb: in der Dritten Zeile "Bitte Start" und in der Vierten Zeile "Drücken!" Steht ?
Steh da echt gerade etwas auf dem Schlauch
Schönen Abend noch.
Lg Kevin
hast Du schon die Libs auf das neue Display angepasst ? sonst wird das nichts mit der dritten und vierten Zeile.
Gruß TrainMen
Hallo TrainMen,
Nein das habe ich leider noch nicht Probiert. Welche Einträge müsste ich dann ändern? Bzw welche Werte müssen Dann Geändert werden?
Such mal hier auf dem Netz nach 4 Zeilen Display an M32 und guck Dir den Code an und vergleiche den mit dem der Standardlib der M32. Beim überfliegen der M128 Software habe ich ähnliche Funktionen gefunden. Einfach anpassen, mach Dir vorher aber eine Kopie von Deiner Lib.
Gruß TrainMen
Habe jetzt mal alle änderungen ausgeführt, leider bekomm ich einen Compiler fehler da wäre eine Definition Falsch.
Anbei die geänderte CClib.cc
CClib.txt
Lg Kevin
vlt. Findet jemand den Fehler.
Ansonsten werd ich wohl auf die M32 Erweiterung umsteigen müssen
Na ja, dein Compiler weißt schon was den Fehler ist. Wurde es nicht einfacher wen du uns den ganze Meldung mitteilst?
Übersetze Projekt LCD 16x4 Test
C-Control Pro Compiler (C) 2013 Conrad Electronic
Durchlaufe Pass 1
Durchlaufe Pass 2
C:\Users\Kevin\Desktop\RP6\16x4 LC-Display Demo\LCD 16x4 Test.cc(8,1): Semantik Fehler - Funktion initRP6Control nicht definiert
C:\Users\Kevin\Desktop\RP6\16x4 LC-Display Demo\LCD 16x4 Test.cc(10,1): Semantik Fehler - Funktion initLCD nicht definiert
C:\Users\Kevin\Desktop\RP6\16x4 LC-Display Demo\LCD 16x4 Test.cc(19,1): Semantik Fehler - Funktion mSleep nicht definiert
C:\Users\Kevin\Desktop\RP6\16x4 LC-Display Demo\LCD 16x4 Test.cc(21,1): Semantik Fehler - Funktion mSleep nicht definiert
4 Fehler - Kompilation abgebrochen.
Schreibe Symboldaten - 11189 bytes..
Das zeigt mir der Compiler an ich werde echt nicht schlau. was muss ich ändern und wie sollte es dann aussehen ?
ich glaube Du hast mein Post #4 falsch verstanden. Du solltest Dir den Code der M32 4 Zeilen Display ansehen und so unterschiede zu der Original Lib erkennen, diese Erkenntniss dann an der C-Control Software ausprobieren und nicht einfach Zeilen übernehmen. Die Funktionen die Du jetzt hier übernommen hast sind ja die der M32 und können so ja nicht funktionieren.
Gruß TrainMen
Hi,
Du solltest Dich besser noch ein wenig länger mit der Programmiersprache ansich befassen (theorie) - also wie ist ein Programm generell aufgebaut, wie definiere ich Funktionen und rufe diese auf, wie gehe ich mit verschiedenen Variablentypen um usw.
Für die C-Control gibt es sicher eine Anleitung wo das erklärt wird. Für den RP6 gibt es jedenfalls eine die sich mit dem normalen C Code befasst.
Erst dann kümmere Dich um das LCD, das wird wesentlich leichter wenn Du den Code auch lesen und nachvollziehen kannst.
Hi Kevin,
TrainMen hatte dir ja schon die wesentlichen Infos gegeben:
Du brauchst in der RP6CClib.cc eigentlich nur die Funktion setCursorPosLCD ändern (ggf. noch die RP6_initLCD, falls das neue LCD andere Inits braucht...).
Bei LCD 16x4:
Bei den Macros kann man noch eins ergänzen, das so wie showScreenLCD arbeitet, aber für 4 Zeilen:Code:void setCursorPosLCD(byte text_line, byte pos) { pos = pos | 128; if(text_line==1) pos = pos + 0x40; else if(text_line==2) pos = pos + 0x10; else if(text_line==3) pos = pos + 0x50; writeLCDCommand(pos); }
Code:#define showScreenLCD4(__STRING1__, __STRING2__, __STRING3__, __STRING4__) {clearLCD(); printLCD(__STRING1__); setCursorPosLCD(1,0); printLCD(__STRING2__); setCursorPosLCD(2,0); printLCD(__STRING3__); setCursorPosLCD(3,0); printLCD(__STRING4__); }
Gruß
Dirk
Lesezeichen