HD44780 an PCF8574

OP Persönliche Seite #2274173
Lesenswert?
• ▲
▼
Ich habe hier erst im Netz eine kleine Lib entdeckt, welche ein 
Textdisplay über einen PCF8574 ansteuern soll.
http://scriptkiller.de/de/a19/computer_elektronik/mikrocontroller/hd44780_display_via_pcf8574_i%C2%B2c_io-expander/

Ich habe nun ein 8x2 Anag Vision 0802 Display dran ("KS0066 or 
equivalent"), welches mit der Fleury-Lib und eigenem Code ohne Probleme 
direkt an Portpins funktioniert. Das Display kommt nur nicht mit klar, 
wenn die Pins D0 bis D3 im 4 Bit Mode auf 0 liegen, müssen floaten.

Die Lib verwendet eine i2c.h, welche ich nicht finden konnte, so hab ich 
einfach die Ausgabe Funktion etwas angepasst:
1
void lcdOut(unsigned char c) {
2

3
  //i2cMasterSendNI(LCD_I2C_ADDR, 1, &c);
4
  set_pcf8574(0x4e, c);
5

6
}
7

8
char set_pcf8574(unsigned char address, unsigned char val) {
9
  unsigned char ret = i2c_start(address+I2C_WRITE);
10
  if(ret) {
11
    i2c_stop();
12
    return -1;
13
  } else {
14
    i2c_write(val);
15
    i2c_stop();
16
  }
17
  return 0;
18
}

Die PCFs (sind 6 Stück auf der Platine) funktionieren alle ohne 
Probleme.

Das Display kommt anscheinend auch über init hinaus, da die schwarzen 
Balken verschwinden, allerdings mehr tut sich auch nicht. Ob ein 
lcd_clear() funktioniert, kann ich nicht sagen, da es nichts zu clearen 
gibt.

Hier der Ausschnitt meiner main(), welcher relevant ist:
1
  i2c_init();
2
  sei();
3
  lcdInit();
4
  lcdClear();
5
  lcdPrintString((unsigned char *)"test");
Wenn ich den typecast nach unsigned char * für die PrintString weglasse, 
dann meckert er wegen "differ in signedness", tut sich aber auch nichts 
am Display.

Im Anhang die lcd.c und lcd.h aus meinem Projektordner.
http://www2.produktinfo.conrad.com/datenblaetter/175000-199999/183369-da-01-en-LCD_Modul_8x2_Zeichen.pdf 
Hier das Datenblatt des Displays

Ich hoffe ihr könnt mir da helfen!
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.