Forum: Mikrocontroller und Digitale Elektronik LCD Display eigenes Zeichen erstellen


von tollo (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe ein paar Funktionen zum erstellen eines eignen Zeichens auf 
einem 2x16 Zeichen Display mit HD44780 chip geschrieben. Die Funktionen 
sind in der angehängten Datei.

Wenn ich das Display initialisiere und versuche ein eigenes Zeichen in 
den Speicher zu schreiben passiert allerdings nichts
1
  lcd_init(); 
2
  lcd_send(COMMAND, LCD_CLEAR);
3
4
  uint8_t chrdata0[8] = {
5
        0b11111111,
6
        0b11111111,
7
        0b00000000,   
8
        0b11111000,    
9
        0b00000000,     
10
        0b11111111,     
11
        0b00000000,
12
        0b00000000
13
        };
14
15
  lcd_generatechar(LCD_GC_CHAR0, chrdata0);
16
  lcd_set_cursor (2, 0);
17
  lcd_write(LCD_GC_CHAR0);

Wo mache ich einen Fehler?
danke für eure Hilfe

von L. P. (lpg)


Lesenswert?

Hi,

kennst du schon:

http://www.mikrocontroller.net/articles/Pseudo-Graphische_LCD-Ansteuerung

bzw.:
-->
Jedes Byte des Bitmusters stellt eine Zeile des Zeichens dar, wobei nur 
die unteren 5 Bit jeder Zeile relevant sind.

lg.

von tollo (Gast)


Lesenswert?

darauf basiert meine Erweiterung. ich weis bloß nicht was ich dabei 
falsch gemacht habe.

von Wolfgang (Gast)


Lesenswert?

tollo schrieb:
> ich weis bloß nicht was ich dabei falsch gemacht habe.
Hast du mal versucht, ein gültiges Bitmuster in das RAM vom 
Zeichengenerator zu schreiben? Für eine Zeichenmatrix von 5x7(8) ist die 
Belegung der ersten 3 Spalte bestenfalls egal? K.A. ob das hilft.

Hast du auch mal durch Lesen vom CG-RAM geprüft, ob das Bitmuster dort 
richtig ankommt?

von Karl H. (kbuchegg)


Lesenswert?

tollo schrieb:

>   lcd_write(LCD_GC_CHAR0);

eigentlich müsstest du da eine Compilerwarnung gekriegt haben.

lcd_write ist die falsche Funktion dafür. lcd_write gibt einen String 
aus (wie auch unschwer am Code von lcd_write abzulesen ist). Du hast 
aber keinen String. Du hast ein einzelnes Zeichen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.