Hallo Ich habe eine Hardware mit LCD bei dem der R/W nicht ausgeführt ist, es ist auch kein Pin mehr vorhanden. In der alten SW wurde die Lib von P. Fleury verwendet, nach Änderungen in der SW und fehlerfreiem kompilieren mit neuem GCC ergeben sich allerdings Probleme. Ohne Optimierung läuft das Programm einwandfrei, ist aber zu groß für den Kontroller Mega8 (Test mit Mega32). Mit Optimierung geht am Display nichts mehr ausser gelegentlich nach Reset ein paar Katakana. Hat jemand eine Lib die ohne R/W funktioniert und einigermassen zur Fleury Lib passt. Danke schon mal. Grüsse Hubert
Hubert G. wrote: > In der alten SW wurde die Lib von P. Fleury verwendet, nach Änderungen > in der SW Was hast du wie geändert. > Hat jemand eine Lib die ohne R/W funktioniert Die Fleury Lib kann relativ einfach auf R/W-freien Betrieb umgerüstet werden(*) Mann muss allerdings beachten, dass dann der automatische Umbruch (WORD_WRAP) ausgeschaltet sein muss, bzw. alles was mit auslesen zu tun hat, nicht mehr funktionieren wird. (*) Die Umrüstung beschränkt sich auf 1 Funktion.
In der Lib von Fleury habe ich nichts geändert, es ist nur beim restliche Programm etwas dazugekommen. Der Speicherplatz ist voll daher wollte ich es mit dem neuen GCC machen, mit dem alten gehts nicht. Lesen ist nicht wichtig da nur alle 2sec aktualisiert wird und auch nicht zeitkritisch. Wie müsste man denn die Lib umrüsten?
Hi, Nach 'nem Schreibbefehl benötigt das Display 'ne gewisse Zeit, den Befehl abzuarbeiten. Das Busy-Flag signalisiert, wenn's denn soweit ist. Man kann aber auch nach 'nem Schreibbefehl ein bisserl warten, idealerweise wenigstens solange, wie das Display laut diversen Datenblättern zur Abarbeitung benötigt und schenkt sich einfach die Busy-Flag-Abfrage. mfg Lötlackl
Lötlackl wrote: > Hi, > > Nach 'nem Schreibbefehl benötigt das Display 'ne gewisse Zeit, den > Befehl abzuarbeiten. Das Busy-Flag signalisiert, wenn's denn soweit ist. > Man kann aber auch nach 'nem Schreibbefehl ein bisserl warten, > idealerweise wenigstens solange, wie das Display laut diversen > Datenblättern zur Abarbeitung benötigt und schenkt sich einfach die > Busy-Flag-Abfrage. @Hubert Genau. Und glücklicherweise hat P. Fleury diese Abfrage des Busy Flags in eine Funktion zusammengefasst. Die Funktion heist auch irgendwie so ähnlich. Mach einfach das lcd.c auf und such nach 'busy'. Da findest du die Funktion garantiert. Den momentanen Inhalt schmeist du raus und ersetzt ihn durch einen _delay_ms( 5 ); return 0; und dann sollte dein Display eigentlich schon wieder funktionieren. PS: Deine Fehlerbeschreibung hört sich allerdings nicht so an, als ob die Fleury Lib daran schuld wäre :-) Und da sie vor deinen Änderungen anscheinend schon mit dem fehlendem R/W Pin funktioniert hat, ist es mehr als wahrscheinlich, dass sie bereits geändert wurde. Für mich hört sich deine Fehlerbeschreiung eher nach 'Du verwechselst Ursache und Wirkung'. Die Ursache deines Problems ist deine SW Änderung. Die Wirkung die du siehst ist dass dein Display nicht mehr funktioniert. Du versuchst daher an der falschen Stelle das Problem zu fixen. Nicht die LCD Library enthält ein Problem, sondern deine Änderung. Ist ein bischen wie beim Arzt: Der kann sich noch solange wundern warum eine Wunde immer weiter eitert und das Eiter absaugen (=die Wirkung bekämpfen), solange er dir den rostigen Nagel (=die Ursache) nicht rauszieht, wird das alles nichts helfen.
Die neue LCD-Lib läuft jetzt mit der Änderung. Danke für den Hinweis. Grüsse Hubert
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.