EA DOGXL240-7 mit UC1611S

Gast #3652993
Lesenswert?

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
#4382465
Lesenswert?

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
}
Gast #5008450
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren