Hallo Habe mir von http://www.futurlec.com/ ein ATmega32 Board gekauft. Passt genau für meine Bedürfnisse. Alles drauf was ich brauche, vorallem ein LCD-Stecker mit 10k Kontrast- wiederstand und VCC/GND auf den richtigen Leitung. Flachband- kabel und Stecker dran und fertig. Verwendet werden die PIN's des PORT C vom ATmega32. Leider haben die Jungs einen (aus meiner Sicht) Fehler gemacht. Sie haben die R/W Leitung nicht auf einen ATmega32 Port gelegt, sondern auf GND. Der Grund ist wohl, dass Pin 0 und 1 von PORT C beim ATmega32 mit I2C (SDA,SCL) belegt sind. Das Problem ist nun, dass alle mir bekannten C-Libraries für HD44780 LCD-Controller den R/W Pin brauchen um ein "BusyWait" zu realisieren. (P. Fleury, avr-libc, avrlib) Ich habe also die Variante die R/W Leitung nicht auf den LCD Port zu legen, sondern fliegend direkt auf PC1 zu verkabeln, oder eine Library zu finden (oder selber zu schreiben), welche ohne die R/W Leitung auskommt. Frage: - Hat mir jemand einen Link auf Code, welcher ohne R/W Leitung mit einem HD44780 kompatiblen Display arbeitet. - Stimmt überhaupt meine Annahme, dass es auch ohne R/W gehen muss. Danke Daniel
Wenn Du kein Busy-Wait brauchst und keine andere Quelle auf das Display zugreift, so dass Du nicht vom Display lesen können musst, dann brauchst Du den R/W-Pin nicht und kannst ihn fest verdrahten.
Hallo, R/W fest auf GND geht üblicherweise schon, benutze ich auch öfter. Nachteil ist eben nur, daß man Zwangswartezeiten für das Display einfügen muß. Die max. nötigen Zeiten stehen im Datenblatt des Display-Controllers, +10% schaden nicht. In den Treibern mußt Du nur die Routine, die Busy abfragt, durch eine entsprechend lange Warteschleife ersetzen. Sollte eigentlich auch den Libs zu finden sein, wenn man sich nicht so gut auskennt. Gruß aus Berlin Michael
Also ich betreibe mien LCD in einer ISR und habe auch R/W an GND. Das Display ist komplett im RAM abgelegt und die ISR macht alle 5ms ( max. Wartezeit des LCD )ein Zeichen weiter und wenn das Display 1 x durch ist, wieder von vorn. So habe ich keine "Timing Sorgen" und muß nur den RAM beschreiben. Gruß
Also 5ms warten ist schon arg lang. Das kommt eigentlich nur bei Operationen wie dem Löschen des Displays. Ein einzelnes Zeichen zu schreiben, geht normalerweise sehr viel schneller.
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.