Liste der Anhänge anzeigen (Anzahl: 1)
Hab hier mal meinen Code angehängt.
Einige der Funktionen müsstest du da noch auskommentieren, da die weitere Module benötigen (z.B. die KS0108_Header).
Natürlich auch noch die _cfg.h anpassen.
Aber es sollte zumindest möglich sein, nach KS0108_Init() das Display mit KS0108_Fill(x) mit einem Muster zu füllen.
x = 0x00: Leer
x = 0xFF: vollständig gefüllt
x = irgendwas: Entsprechendes Bitmuster am Display sichtbar.
Wenn das geht, sollte man mit KS0108_PutS (x, y, Text, f); auch nen Text schreiben können.
(x, y = Startkoordinaten, Text als char*, f > 0 für Standard-Darstellung, f = 0 Invertierter Text)
Falls es Probleme bei der Inbetriebnahme des Codes gibt, einfach melden.
Wenns damit auch nicht geht, liegt der Verdacht nahe, dass irgendwo ein Hardwarefehler drin ist. Soferns da die gleiche "Qualität" ist wie bei den Pollin-GLCDs, dann kanns da auch sein, dass, wie bei mir, eine Leiterbahn zwischen Displaycontroller und Anschluss gebrochen ist. Also mal wirklich alle Bahnen vom AVR soweit zurückverfolgen (Durchpiepsen) wie es geht; am besten bis direkt vor den Controller aufm Display.
Liste der Anhänge anzeigen (Anzahl: 1)
Im Prinzip reichts, wenn du die _cfg.h anpasst (also deine Pins/Ports) und alle Funktionen auskommentierst, in denen irgend was mit myStrLeft o.ä. drin ist.
Also die Funktionen, die sicher gebraucht werden und mit dem vorhandenen Code funktionieren sollten:
Display initialisieren:
void KS0108_Init (void);
"Zelle" (8 Byte) vom Display lesen
ui8_t KS0108_ReadCell (ui8_t x, ui8_t page);
Zelle schreiben
void KS0108_WriteCell (ui8_t x, ui8_t page, ui8_t data);
Befehl zum LCD schicken
void KS0108_WriteCommand (ui8_t cmd, ui8_t driver);
Enable-Puls senden
void KS0108_Enable (void);
Einzelnes Pixel setzen (color > 0) oder löschen (color = 0):
void KS0108_SetPixel (ui8_t x, ui8_t y, ui8_t color);
Einzelnes Textzeichen setzen:
void KS0108_PutC (ui8_t x, ui8_t y, ui8_t chr, ui8_t color);
Ganzen Text setzen:
void KS0108_PutS (ui8_t x, ui8_t y, char *chr, ui8_t color);
Display mit Bytemuster füllen
(Alle Zellen mit gleichem Wert befüllen)
void KS0108_Fill (ui8_t pattern);
Nachtrag: Hab mal das Programm, das die .hex erzeugt hat, als AVR-Studio-Projekt hier mit angehängt. Schau sicherheitshalber noch mal drüber, ob alle Pins/Ports stimmen.