Hallo und danke für dein Antwort.
also zum 1.:
Ich beziehe mich auf die Routine LCD_init ().(in lcd_m50530.c)
Ich habe nicht mit LCD-Linux gearbeitet, weis auch nicht was das ist.
Arbeite grad in Windows.
zu 2.:
hast richtig geraten. 8x24
zu 3.:
Fonts 5x8Pixel sollen bleiben.
Eigene Zeichen sind ebenfalls 5x8 Pixel-Zeichen (wie im Funktion xxx() )
zu 4.:
Genau so wie du sagst habe(besser versucht) ich auch programmiert.
zu 5.:
LCD_setCursorPos (y,x); // Setzt cursor mit y auf die Zeile und mit x auf die Spalte
LCD_writeChar ('a'); // schreibt einen Char
LCD_write ("String"); // schreibt eine String
LCD_writeChar (0xF
; //schreibt den ersten slbst. definierten Zeichen auf die LCD
dass zu den einfachen Befehlen.
Jetzt die Init Routine:
Code:
void LCD_init(void)
{
LCD_waitReady (); // Wartet bis LCD bereit
// alle Leitungen auf Ausgang schalten
LCD_DDR = 0xFF;
//LCD_sendByte(0b100011, 0); // SD:
// auf 4-Bit-Mode umschalten
/*
SET FUNCTION MODE
input:
OC1 0
OC2 0
RW 0
DB7,DB6 1
DB5 I/O 8/4 (1 = 8 bit, 0 = 4 bit)
DB4 FONT 8/12 (1 = 5x8 fonts, 0 = 5x12 fonts)
DB3,DB2 DUTY DT1 = 1; DT2 = 0;
DB1,DB0 RAM RA1 = 1; RA2 = 0;
*/
LCD_sendByte(0xDA, 0); //SF: Siehe komentar oben
LCD_waitReady (); // Wartet bis LCD bereit
LCD_sendByte(0x50, 0); //SE: Incrementiere den Curs. nach write data (WD), und No change display start adr.
LCD_waitReady (); // wartet wieder
LCD_sendByte(0x30, 0); //SD: Set disp. mode && Display on
LCD_clear(); //löscht lcd
xxx (); /* Schreibt selbst definierte Zeichen in CGRAM */
}
Das habe ich laut Datenblat erstellt. (von S. 25 bis 32)
ich hoffe dass ist Aussagekräfig.
Wenn nicht, sende ich dir natürlich mehr Informationen!
Ich will eigentlich dass Gleiche wie auf dem Bild im Anhang DisplayTest_8x24_2.jpg
grüße
Lesezeichen