Es gibt ja haufenweise LCD-Routinen, hier mal meine Version. Ist für ein 4*40 LCD. Die Besonderheit ist, daß es 2 Controller hat, also braucht man insgesamt 7 IOs, um es anzusteuern. Die IOs sind zwar auf einem Port, aber ich hab sie nach bestem Layout verteilt. Daher hat die Nibble-Routine etwas zu tun, ist aber mit Bitvariablen gut lesbar. Es lief auf Anhieb, bloß mit der 2.Zeile hatte ich etwas Streß. Man muß 64 addieren, um in die 2.Zeile zu kommen. Läuft auf nem ATtiny84. Der hat ja mordsmäßig viel Speicher, also ideal zum Entwickeln. Ich habs eben mal gemacht, da mein Kollege es am LPC-ARM nicht zum Laufen gebracht hat. Nun kann ich ihm sagen, daß das Display in Ordnung ist. Peter
Hallo Peter, du schreibst im Quellcode "not 40". Es sind schon 40 nur eben Hexadezimal. Gruß Rene
Hi Peter Du soltest bei den Dateinamen <=> Incude-Namen auf die Gross/Kleinschreibung achten. Der GCC stammt aus der Linux-Welt und könnte desswegen "meckern". Sowieso, ich meine das Dateien mit *.C (grosses C) vom GCC als C++ Code betrachtet wird..? MfG Thommas
Thommas wrote: > Du soltest bei den Dateinamen <=> Incude-Namen auf die > Gross/Kleinschreibung achten. Der GCC stammt aus der Linux-Welt und > könnte desswegen "meckern". Ich benutze den WINAVR, unter WINDOWS ist die Schreibweise egal. Ich editiere und compiliere in der DOS-Box mit ner Batchdatei und da gibt es nur Großschrift. > Sowieso, ich meine das Dateien mit *.C (grosses C) vom GCC als C++ Code > betrachtet wird..? Das kann manchmal merkwürdige Unoptimierungen verursachen, daher besser den Compilerschalter -xc verwenden. Peter
Peter Dannegger wrote: > Thommas wrote: > >> Du soltest bei den Dateinamen <=> Incude-Namen auf die >> Gross/Kleinschreibung achten. Der GCC stammt aus der Linux-Welt und >> könnte desswegen "meckern". > > Ich benutze den WINAVR, unter WINDOWS ist die Schreibweise egal. > > Ich editiere und compiliere in der DOS-Box mit ner Batchdatei und da > gibt es nur Großschrift. Na super, und was ist mit Leuten, die das unter Linux kompilieren wollen? Ziemlich ignorant oder nicht?
Naja, ich denke dass jeder den Code auf seine Gegebenheiten anpassen sollte, bzw. darauf achten sollte, dass er funktioniert. Man kann als Entwickler/Bastler ja nicht alle verfügbaren Betriebssysteme bedienen, das sprengt wohl jeden Rahmen. Vielleicht wär's empfehlenswert, das OS und den Compiler beim Posting anzugebben?
Simon K. wrote: > Na super, und was ist mit Leuten, die das unter Linux kompilieren > wollen? Ziemlich ignorant oder nicht? Daß Linux damit nicht klarkommt, wußte ich nicht. Bisher hat sich ja noch kein Linuxer über meine Beispiele beschwert. Wenn es Probleme auf anderen Plattformen gibt, dann einfach mal sagen und nicht gleich die Leute als Ignoranten schimpfen. Ich beschwere mich ja auch nicht, daß Unix-Sourcefiles in einer einzigen Zeile stehen. Ich hab einen Editor, der sie umwandeln kann. Man muß sich nicht an Kleinigkeiten festbeißen. Es ist allerdings unter Windows nicht trivial, komplette Verzeichnisse auf Kleinschrift umzubenennen. Peter
Thilo M. wrote: > Naja, ich denke dass jeder den Code auf seine Gegebenheiten anpassen > sollte, bzw. darauf achten sollte, dass er funktioniert. Und deswegen soll man erstmal kilometerweise fremden Code durchgehen und solche trivialen Fehler korrigieren? Das ist meiner Meinung nach Gemurkse.
Peter Dannegger wrote: > Simon K. wrote: > >> Na super, und was ist mit Leuten, die das unter Linux kompilieren >> wollen? Ziemlich ignorant oder nicht? > > Daß Linux damit nicht klarkommt, wußte ich nicht. Bisher hat sich ja > noch kein Linuxer über meine Beispiele beschwert. Hab ich jetzt auch nur getippt ;) > Wenn es Probleme auf anderen Plattformen gibt, dann einfach mal sagen > und nicht gleich die Leute als Ignoranten schimpfen. > Ich beschwere mich ja auch nicht, daß Unix-Sourcefiles in einer einzigen > Zeile stehen. Ich hab einen Editor, der sie umwandeln kann. Man muß sich > nicht an Kleinigkeiten festbeißen. Naja, nimm es mir nicht übel, aber der Vergleich hinkt etwas ;) Es ist wesentlich mühsamer in den Code-Dateien rumzuwurschteln als sich einen vernünftigen Editor runterzuladen (was man als Programmierer eh haben sollte) > Es ist allerdings unter Windows nicht trivial, komplette Verzeichnisse > auf Kleinschrift umzubenennen. Musst du doch garnicht. Reicht doch, wenn du den korrekten (Groß/Kleinschreib-technisch gesehen) Dateinamen angibst. Dann sollte es unter Windows als auch unter Linux funktionieren.
Also was hier abgeht lässt sich kaum noch in Worte fassen! Da stellt jemand der Community seinen Code zur Verfügung und dann wird rumgenölt wegen der Schreibweise der Dateinamen, zusätzlich wird der Autor auch noch als Ignorant beschimpft. Gehts noch??? Dann lasst die Finger weg von dem Teil wenn euch was nicht passt, ihr habt nichts bezahlt dafür und Peter ist euch nichts schuldig - basta! @Peter: Wie immer schön kompakter Code, danke dafür! Markus
traurig das es Leute gibt die alles in Häpchen brauchen, weil sie nicht vom Brot abbeißen können. @Peter, vielleicht sollten alle den Code in wenigstens 2 Versionen hier reinstellen. Für Linux und Windows mindestens. Dann gehts schneller mit Copy & Paste. ;-)) Schließe mich Markus an !!
Hi, ich schliesse mich "Markus _neu" vollstens (tolles Wort) an !!! (schreibt man glaub ich "full ACK") @Peter Dannegger: Danke !!! Ich werd mir den code jetzt runterladen (ok, hab ich inzwischen) und ansehen. (und mich dann beschweren weil es kein "#ifdef BUILD_FOR_Z80" gibt ;-) ) klaus
>Ich habs eben mal gemacht, da mein Kollege es am LPC-ARM nicht zum >Laufen gebracht hat Verstehe ich nicht. Lag's an dem ARM, an Deinem Kollegen, oder dass Du so ein toller Typ bist ?
Klatscher wrote: >>Ich habs eben mal gemacht, da mein Kollege es am LPC-ARM nicht zum >>Laufen gebracht hat > > Verstehe ich nicht. Lag's an dem ARM, an Deinem Kollegen, oder dass Du > so ein toller Typ bist ? Es lag daran, daß er den RW-Anschluß nicht beschaltet hatte. Peter
--flame-an Hey, Windows ist doch sowieso total scheise und Linux das Allerbeste der Welt, oder umgekehrt oder so. --flame-aus Keine Trolle füttern, die sind eh schon fett genuch... Prima Kode, thx g
Es hat sich natürlich der Fehlerteufel eingeschlichen, bei der Initialisierung muß es richtig lauten:
1 | LCD_RS = 0; |
Nun fragt sich bestimmt mancher, warum es trotzdem funktioniert hat. Die ersten Befehle sind nur zur Sicherheit, falls das Display sich in einem unbekannten Zustand befindet. Der wirklich wichtige Befehl ist der nur Umschaltung in den 4-Bit Modus und selbst der wird ja nicht ausgeführt. Aber er ist ein Kombibefehl mit dem Befehl in den 2-Zeilenmodus. Dieser wird dann Nibble-weise ausgeführt, aber da das LCD noch im 8Bit-Modus ist, wird das 2.Nibble ignoriert. Peter
wenn man linux mit windows vergleichen kann, dann kann man sicher auch ubuntu, kde und co mit ms-dos vergleichen, oder? was da wohl besser ist. ach ja, stimmt ...
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.