-         

Ergebnis 1 bis 5 von 5

Thema: DOGM 162 LCD Lib funktioniert nicht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2007
    Beiträge
    10

    DOGM 162 LCD Lib funktioniert nicht

    Anzeige

    Hallo

    ich habe mir mal testweise die Schaltung vom LCD am Asuro nachgebaut.
    http://www.asurowiki.de/pmwiki/pmwik...LCDErweiterung

    da ich selber aber keinen Asuro habe und die komplette Lib nicht brauche wollte ich die Lib von raid_ox einsetzen
    http://www.roboternetz.de/phpBB2/zei...717&highlight=

    leider bekomme ich mein DOG-M162 über I2C nicht zum laufen.

    Gibt es eine Möglichkeit nur die LCD Funktionen zu testen?
    im Beispielcode ist etwas von einer essential.c zu lesen, jedoch kann ich die nicht finden.

    Also wenn jemand eine schrittweise Anleitung hat würde ich mich freuen.

    Gruß

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2007
    Beiträge
    10
    Mir würde es auch reichen wenn ich erst mal das lcd im 4bit 5V betrieb zum laufen bekomme.
    Die erweiterung auf I2C wäre ja dann optional.

    Kann da jemand helfen?

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo,

    das DOGM162 unterscheidet sich von anderen HD44780 oder kompatiblen Displays nur in der Initialisierungs Sequenz.
    Das steht in der lcd.h Header Datei.

    So sieht die Initialisierungssequenz für das DOGM162 aus (Diese Werte werden nacheinander zum Display gesendet ohne die letzte 0):
    Code:
    #define LCD_INIT {0x29, 0x1C, 0x52, 0x69, 0x74, 0}             // DOGM162 Init, See Datasheet
    Frage mich aber nicht wie ich auf diese Werte gekommen bin. Ist schon zu lange her.

    Die Initialisierung eines HD44700 kompatiblen 1 zeiliges Displays sieht so aus:
    Code:
    #define LCD_INIT	{0x20, 0}  // (LCD_4BIT | LCD_1LINE | LCD_5X7)
    Ich weiß leider nicht, welchen Controller du verwendest. Die LCD Lib ist für den Asuro (Mega geschrieben worden. Ob sich der Code so ohne weiteres portieren läßt, kann ich dir nicht sagen.
    Du benötigst für eine eigene Anpassung folgende Files aus der Asuro Lib:

    i2c.h, i2c.c, lcd.h, lcd.c

    Eine Beispielanwendung befindet sich im Examples Ordner unter I2CLCD.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    02.03.2007
    Beiträge
    10
    @m.a.r.v.i.n:
    Vielen Dank für die Antwort.
    Leider habe ich die Problematik, dass beim Kompilieren folgende Funktionen nicht definiert sind.

    Init();
    MSLEEP();

    Ich verwende den Mega32 wobei es zum Mega8 keine wesentlichen unterschiede gibt.
    Im Beispielcode wird weiterhin die asuro.h eingebunden.

    Da ich selber ja wie schon erwähnt den Asuro gar nicht baue oder habe würde ich gerne nur notwendige daten dieser Headerdatei entnehmen.

    Kannst Du mir hierzu bitte informationen geben?
    Weiterhin würde mich interessieren ob es auch eine Möglichkeit gibt die Hardware TWI zu nutzen.

    Gruß Julien

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo,

    Init() ist die Hardware Initialisierung des ASUROs. Die wird dir wenig nutzen, ebenso das Einbinden der asuro.h. Das ist alles Asuro spezifisch.
    Msleep() ist nicht anderes als eine Delay Funktion. Stattdesen kannst du auch die Standard Delay Funktion _delay_ms() benutzen.
    Siehe hierzu: http://www.mikrocontroller.net/artic..._.28delay.h.29

    Natürlich kann man auch TWI benutzen. Die entsprechenden Port Pins sind beim Asuro leider belegt. Deswegen die I2C Simulation.

    Eine sehr gute TWI Lib gibt es z.B. von P.Fleury

Berechtigungen

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