- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: 16x4 Display an MEGA128 C-Control

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    24.12.2012
    Beiträge
    65

    Idee 16x4 Display an MEGA128 C-Control

    Anzeige

    E-Bike
    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

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    hast Du schon die Libs auf das neue Display angepasst ? sonst wird das nichts mit der dritten und vierten Zeile.
    Gruß TrainMen

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    24.12.2012
    Beiträge
    65
    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?

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    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

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    24.12.2012
    Beiträge
    65
    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

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Na ja, dein Compiler weißt schon was den Fehler ist. Wurde es nicht einfacher wen du uns den ganze Meldung mitteilst?

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    24.12.2012
    Beiträge
    65
    Ü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 ?

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    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

  9. #9
    Unregistriert
    Gast
    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.

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    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:
    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);
    }
    Bei den Macros kann man noch eins ergänzen, das so wie showScreenLCD arbeitet, aber für 4 Zeilen:
    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

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] Display RP6 16x4
    Von Thorben W im Forum Robby RP6
    Antworten: 4
    Letzter Beitrag: 15.02.2013, 19:21
  2. Antworten: 9
    Letzter Beitrag: 27.02.2012, 18:44
  3. Arduino LCD Display(16x4) 3.&4.Zeile Fehler
    Von pro-bot128 im Forum Arduino -Plattform
    Antworten: 12
    Letzter Beitrag: 29.04.2011, 19:05
  4. Grafik Display an Mega128 mit Bascom
    Von DirkS im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 17.10.2005, 16:22
  5. Suche Lcd Display 16x4, will es mit delphi oder C++ progra..
    Von martinheidelberg im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 14.09.2005, 20:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen