- LiFePO4 Speicher Test         
Ergebnis 1 bis 5 von 5

Thema: Probleme mit I2C Display

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.09.2012
    Beiträge
    9
    Hallo und danke für die Antwort !

    Bezieht sich die Angabe, dass "Balken erscheinen" auf diesen Test ohne PCF8574P?
    Wenn ja, ist das ja noch nicht getestet. Hattest du bei diesem Test schon einmal Text ausgeben können?
    Ich habe das Display an meiner anderen ATMEGA16 Schaltung ohne PCF8574P getestet.
    Text wurde einwandfrei im 4 Bit Modus angezeigt

    Hast du mal an den Potis der Anzeigeplatine geregelt?
    Hier bei Pollin ist der Schaltplan http://www.pollin.de/shop/downloads/D810145B.PDF zu finden und dort sind die beiden Potis RT1 und RT2 ja für Kontrast und Beleuchtung zuständig.
    Hab ich bereits gemacht, wollte mit Balken nur sagen das das Display auf Spannung reagiert.

    Nutze doch mal nur
    #define F_CPU 1000000
    ohne das #ifndef darum.
    Danke, wurde geändert.

    Dann gibt es in der Datei i2clcd.h noch:
    #define LCD_I2C_DEVICE 0x40
    Hast du die Jumper am Display auf 64 eingestellt? (64 Dezimal = 40 Hexadezimal)
    Jumper sind wie im Datenblatt angegeben auf 64 eingestellt

    Und zum Schluss sind noch folgende Einstellungen zu prüfen:
    #define LCD_D4_PIN 0
    ...
    #define LCD_E_PIN 7
    Pins habe ich auch mit Datenblatt überprüft, keine Fehler gefunden

    ann gibt es in deiner Datei main.c noch ein Problem:
    while (true){} //- Endless loop
    Das ist KEINE Endless loop.
    UPS... wurde sofort durch "while(1){}", ich schieb das mal auf nen Autofiller



    und nun zum Ergebniss:

    nix

    hast du / habt ihr noch ne Idee ?


    mit leider keinem Erfolg

    Gruß Painfabric
    Geändert von Painfabric (18.09.2012 um 01:36 Uhr) Grund: Rechtschreibfehler

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Grüß dich Painfabric,

    ich habe mir jetzt mal die Datenblätter der beiden im Bausatz angegeben LCDs angesehen.

    - 120420 (2x7polig und 2x1polig,X2 und BLA, BLK)
    http://www.pollin.de/shop/downloads/D120420D.PDF
    - 120421 (1x16 polig, X1)
    http://www.pollin.de/shop/downloads/D120421D.PDF

    In Beiden ist die Funktion der Pins identisch. (Also kein Unterschied beim Programmieren.)

    Ich bin mir relativ sicher, dass doch ein Problem über die Defines aus deiner angegeben i2clcd.h kommt.
    Im Schaltplan sind verbunden:

    CPU - LCD
    P0 -> Pin 11(D4) -> OK; #define LCD_D4_PIN 0
    P1 -> Pin 12(D5) -> OK; #define LCD_D4_PIN 1
    P2 -> Pin 13(D6) -> OK; #define LCD_D4_PIN 2
    P3 -> Pin 14(D7) -> OK; #define LCD_D4_PIN 3
    P4 -> Pin 4(RS) -> OK; #define LCD_RS_PIN 4
    P5 -> Pin 5(R/W) -> OK; #define LCD_RW_PIN 5
    P6 -> Pin 6(E) ===> PROBLEM; #define LCD_EMPTY_PIN 6
    P7 -> Pin 15(A) (LED über Transistor) ===> PROBLEM; #define LCD_E_PIN 7

    In der Pollin-Schaltung ist meiner Meinung nach die Pin 6(E)-Leitung NICHT über Port LCD_E_PIN (also 7) erreichbar.

    Du solltest mal die Portnummern hinter den Defines so anpassen:
    #define LCD_EMPTY_PIN 7
    #define LCD_E_PIN 6

    Gruß Sternthaler


    P.S.: Der Port-Pin 7 in der Pollin-Schaltung, über den Transistor am LCD angeschlosen, deutet darauf hin, dass mit dem Port-Pin das LCD an- bzw. ausgeschaltet werden kann.
    Da der Define den Namen LCD_EMPTY_PIN hat, glaube ich nicht, dass mit dem Code die LCD-Beleuchtung gesteuert werden kann.
    Deshalb solltest du diesen Pin immer mit '1' ansteuern, oder eine eigene Funktion dafür machen.

    P.P.S.: Hier noch die Stellen die diesen E-Pin-Define nutzen:
    Aus i2clcd.h:
    #define LCD_E (1 << LCD_E_PIN) /**< E-bit in 1st and 2nd higher nibble */

    Aus i.c:
    void lcd_write(unsigned char value)
    {
    lcd_write_i2c(value | LCD_E); //- Set enable to high
    lcd_write_i2c(value | LCD_E); //- Send data, keep enable high
    lcd_write_i2c(value & (!LCD_E)); //- Set enable to low
    }
    Geändert von Sternthaler (24.09.2012 um 20:27 Uhr) Grund: Codestelle in i.c die den E-Define nutzt
    Lieber Asuro programieren als arbeiten gehen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    05.09.2012
    Beiträge
    9
    #define LCD_EMPTY_PIN 7
    #define LCD_E_PIN 6
    das wars

    Vielen Dank für die Hilfe !

    Ab jetzt kommt die Erfahrung durch Anwenden


    Liebe Grüße

    Painfabric
    c:\>If you're happy and you know it, Syntax Error !
    Syntax error

Ähnliche Themen

  1. Display 16*1 probleme
    Von Carlos31 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 15.11.2009, 19:47
  2. Probleme mit 4*20 LCD Display
    Von LDMaster im Forum AVR Hardwarethemen
    Antworten: 12
    Letzter Beitrag: 14.09.2009, 17:12
  3. Display Probleme
    Von patti16 im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 11.09.2007, 19:48
  4. display probleme!!!
    Von Robotz im Forum Mechanik
    Antworten: 0
    Letzter Beitrag: 07.03.2007, 13:43
  5. Display Probleme
    Von skywalker1979 im Forum PIC Controller
    Antworten: 10
    Letzter Beitrag: 15.02.2007, 10:37

Stichworte

Berechtigungen

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

12V Akku bauen