Ich versuche zur Zeit das vierzeilige EA DIP204-4 von electronic-assembly zum richtigen Funktioniern zu überreden. Ich verwende die Standart-Routinen vom Compiler Codevision. In der ersten Zeile des LCDs klappt noch alles prima, ab der zweiten verschiebt er mir die Zeichen wild durcheinander. Es tauchen z.B. auch Zeichen der ersten Zeile in der zweiten wieder auf. Vielleicht hat jemand ein paar Zeilen C-Code geschrieben, die mir bei meinem kleinen Problem hilfreich wären. Sebastian
jojo... Dateien ins lib bzw inc-Verzeichnis, mit #include <lcd_dip.h> statt <lcd.h> einbinden, dann sollte es klappen
Millardensten Dank, es murkst nicht mehr, es funkelt schön in balu-weiß.
Hallo, ich habe ebenfalls das DIP204B-6NLW Display vor mir, einen ATMEGA128 und CodeVision. Sowohl beim Einbinden von "lcd.h" als auch beim Einbinden von "lcd_dip.h" bekomme ich das exakt selbe Fehlerbild, nämlich dass (wie bereits im ersten Beitrag beschrieben) die erste Zeile des Displays funktioniert, die anderen aber nicht. Ich möchte z.B. den folgenden Text ausgeben: Zeile 1: "01234567890123456789" Zeile 2: "98765432109876543210" Zeile 3: "" Zeile 4: "" Ich erhalte jedoch: Zeile 1: "01234567890123456789" Zeile 2: "2345679" Zeile 3: "109876543210" Zeile 4: "" Der dafür verwendete Code sieht im Wesentlichen so aus: char sz1[21] = "01234567890123456789"; char sz2[21] = "98765432109876543210"; lcd_init( 20 ); lcd_puts( sz1 ); lcd_puts( sz2 ); Wie kann das sein, bzw. was könnte ich noch ausprobieren? Danke im Voraus, Markus
ich weiss jetzt nicht wie diese libraries aussehen, aber das DIP204B-6NLW hat glaub ich eine etwas andere Adressenverteilung bzgl. der Zeilen...muss ich mal im Datenblatt schauen... ---schnipp--- Adressierung: 1. Zeile $00..$13 2. Zeile $20..$33 3. Zeile $40..$53 4. Zeile $60..$73 ---schnipp--- also fast linear im Gegensatz zu anderen Displays, die gerne mal Zeile 1-3-2-4 durchaddressieren... mal die library anschauen ob die 'aufpasst' wenn man aus dem RAM-Bereich einer Zeile rausschreibt (Word-Wrap?) Grüße
Die Library ist oben vorhanden, aber ich werde nicht recht schlau daraus, vor allem kann ich den anscheinend vorhandenen Fehler nicht finden!
char sz1[21] = "01234567890123456789"; char sz2[21] = "98765432109876543210"; lcd_init( 20 ); lcd_puts( sz1 ); lcd_gotoxy (0,1); //Zeile 2 lcd_puts( sz2 );
Das funktioniert auch nicht viel besser: Der Text, welcher in Zeile 2 stehen sollte, steht in Zeile 3. Und Zeile 2 und 4 enthalten jeweils Fragmente (die letzten 8 Zeichen) von Zeile 1 und 3. Wenn ich diesen Code verwende: lcd_init( 20 ); lcd_puts( sz1 ); lcd_gotoxy( 0, 2 ); lcd_puts( sz2 ); kommt folgendes raus: Zeile 1: "01234567890123456789" Zeile 2: "23456789987654321098" Zeile 3: "" Zeile 4: ""
Ich hab's gefunden: Die Initialisierung, welche in den standardmäßigen LDC.h/.lib Dateien (auch in der oben eingefügten) verwendet wird, passt einfach nicht zu meiner Hardware. Danke an alle für die rasche Hilfestellung!
Hi, ich habe auch ein EA-DIP204-4 an einem ATmega8 mit 4MHz. Leider zeigt es weder mit den Assembler-Routinen aus dem AVR-Tutorial, noch mit C-Routinen von P. Fleury was an, ein anderes HD44780 schon. Jetzt habe ich CodeVision probiert, auch mit oben genannten libs, aber es bleiben nur weiße Kästchen :( Was muss ich mit dem Reset des LCD machen? frei hängen? Ich habe RS an PD0 RW an PD1 E an PD2 D4 an PD4 D5 an PD5 D6 an PD6 D7 an PD7 Was mache ich falsch? Vielen Dank schon mal, Marco
Also ich hab nochmal alle Leitungen durchgemessen, und auch mit dem Oszi überprüft, scheint alles soweit iO zu sein. Leider krieg ich trotzdem nur weiße Kästchen :( Hat keiner nen Tipp für mich?
Markus Haas noch da? wie hast du das problem in den griff bekommen? ich habe das selbe phenomehn das die letzten 8 zeichen von zeile 1 auch am anfang von zeile 2 zu sehen sind. welche änderungen muß man dafür vornehmen? was wird mit dem KS0073 anders als normal initialisiert? ich kann mit den lib dateihen leider nichts anfangen, weil ich meinen mc in basic programmiere. und ich nutze keine 8bit sondern nur 4bit.
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.