Hallo, ich habe mir ein DOGXL240-7 von EA zugelegt. Der verbaute Kontroller ist ein UC1611S. Habe das Display schon mal soweit, dass ich einen Text mit einer 5x8 Font an beliebigen Cursor Positionen anzeigen lassen kann. Bitmap's aus dem ROM sind ebenfalls kein Problem. Ich benötige aber größere Fonts (22x36, 32x53) die ich im Forum gefunden habe, allerdings geht die Einbindung über mein Wissen hinaus (die Font's gehen dann über die 8 Pixel/Page und hier scheiterts). Hat bereits jemand von Euch schon eine fertige Library für dieses Display bzw. kann mir ein paar Tipps geben? Ich programmiere in C (MikroE Compiler). Hier habe ich die Fonts her: Beitrag "LCD Schriftarten ( Fonts in veschiedenen Größen )" Vielen Dank, roblue
Habe es heute geschafft mir selbst eine "Library" zu schreiben. Zumindest bekomme ich jetzt schon mal eigene Strings mit einer eigenen Font auf das Display. LG
So schwierig ist das mit dem Display nun auch nicht. Im Gegensatz zu dem DOGXL160 hat das wenigstens nur ein Bit pro Pixel. Init nach Datenblatt, Column Address und Page Address setzen, Pixel schreiben. Und dann sowas wie das hier:
1 | // schreibt ein einzelnes Zeichen an eine angegebene Zeilen/Spalten Position
|
2 | // Zeile und Spalte gelten für 8x8 Chars, also Zeile in Pixel = Zeile * 2, Spalte in Pixel = Spalte * 8
|
3 | // 12 SPI-Transfers pro Zeichen -> 19,2µs @ 5MHz SPI
|
4 | void write_char(uint8_t character, uint8_t zeile, uint8_t spalte) |
5 | {
|
6 | uint8_t charx[8]; |
7 | uint8_t x; |
8 | |
9 | memcpy_P(&charx[0], &font[character-0x20][0], 8); |
10 | |
11 | spalte *= 8; |
12 | |
13 | PORTB &= ~LCD_CD; // Display auswählen |
14 | PORTB &= ~LCD_RS; // RS auf Low -> Kommandos |
15 | asm volatile ("nop"); |
16 | SPI_Transmit(spalte & 0x0f); // Set Column Address LSB |
17 | SPI_Transmit(0x10 | (spalte >> 4)); // Set Column Address MSB |
18 | |
19 | SPI_Transmit(0x60 | (zeile & 0x0f)); // Set Page Adress LSB |
20 | SPI_Transmit(0x70 | (zeile >> 4)) ; // Set Page Adress MSB |
21 | |
22 | PORTB |= LCD_RS; // RS auf High -> Daten |
23 | for(x=0;x<8;x++) |
24 | {
|
25 | SPI_Transmit(charx[x]); |
26 | }
|
27 | |
28 | PORTB |= LCD_CD; // Display abwählen |
29 | }
|
Hallo roblue, ich habe auch gerade dieses Display auf dem Tisch liegen. Ich moechte es mit einem RaspBerry PI am hardware I2C bus betreiben. Hast du irgend was in "plain C" was funktioniert ? Sonst mus sich mich durch die u8g2 lib wuehlen. Die ist fuer Arduino, ich muss da dann also alle arduino-spezifischen I2C calls umbauen. Gruss, W.
roblue schrieb: > Today I managed to write myself a "library". > At least I already get my own strings with my own > Font on the display. > > LG hi sir, I'm working out with this controller , pls could u help me out with, how to write fonts on the display
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.