Hallo robotka,

ich verwende das LED 204B LED von Reichelt, also auch ein LCD mit KS0070B-Controller. Angesteuert wird es auch mit der .lib von Peter Fleury.

Zu Anfang hatte ich ähnliche Probleme. Bin auch wie Hannes der Meinung, dass es sich um ein Problem bei der Initialisierung handelt.

Das #define LCD_CONTROLLER_KS0073 0 /**< Use 0 for HD44780 controller, 1 for KS0073 controller */ habe ich bei mir auf 0 gelassen. Die Ansteuerung funktioniert. Wenn ich das richtig sehe, ist das nur für ein "extended function register" von Bedeutung.

Das Problem bei mir war ein Timing-Problem. So habe ich für Taktfrequenzen unter 4Mhz in die Funktion "toggle e" ein delay(40) eingeschoben. Den Wert habe ich durch Ausprobieren gefunden, in wie weit der nun tatsächlich optimal ist, kann ich nicht wirklich sagen.

Wenn Du schreibst, dass Du den ATMega ohne Quarz verwendest, dann läuft der doch mit einer Taktfrequenz von 1Mhz, oder nicht? Bin mir jetzt nicht so sicher, weil ich nie ohne Quarz gearbeitet habe. Diese Taktfrequenz muss dann auch so angegeben werden, Du gibst im Programm die Taktfrequenz aber mit 8Mhz an. Auch das spricht eher für ein Timingproblem.

Zunächst solltst Du aber das Problem mit der Fehlermeldung lösen, dass die delay(ms) Funktion tatsächlich auch läuft und das macht was sie soll. Ich verwende die WinAVR Toolschain und habe da im Makefile als Optimization level s (optimize for size) gewählt.

Viele Grüße

Uwe