Erstmal frohe Weihnachten! Habe folgendes "Setup" - atmega32 mit 16MHz Takt - Elektors eblock LCD Board (Datasheet)-> http://www.matrixmultimedia.com/datasheets/EB005-30-3.pdf - P. Fleury LCD lib -> http://homepage.hispeed.ch/peterfleury/ Wie auf dem Schaltplan zu erkennen, ist die R/W-Leitung direkt auf Masse gelegt. In der Libary von P.Fleury wird der R/W-Pin jedoch eingebunden. Weiß jemand, ob das ein Problem darstellt? ... ich frage, weil ich das LCD noch nicht ans laufen bekommen habe und im Moment Fehler eingrenze. Schöne Grüße
ja, da ist erst Mal ein Problem. Wenn du die RW Leitung nicht verwenden willst, mustt du in der Bibliothek anstatt der Abfragen ob das LCD fertig ist ausreichend lange Warteschleifen einbauen. Walter
Nein, das ist kein Problem. Wenn Du nichts aus dem Display lesen willst kann die R/W Leitung direkt mit GND verbunden werden. Dann kann man nur daten zum Display senden. Also daran kanns nicht liegen. Wird wohl eher ein Initialisierungs oder Ansteuer Problem sein.
>Nein, das ist kein Problem. Wenn Du nichts aus dem Display lesen willst >kann die R/W Leitung direkt mit GND verbunden werden. Dann kann man nur >daten zum Display senden. Also daran kanns nicht liegen. Wird wohl eher >ein Initialisierungs oder Ansteuer Problem sein. wie bereits gesagt ist das ein Problem da in der genannten Fleury Bibliothek vom Display gelesen wird. wie mir gerade einfällt nicht nur ob busy, sondern auch die aktuelle Zeichenposition. es sind also ein paar Änderungen notwendig ... Walter
Hi Walter. Sowas habe ich mir gedacht. Kannst du mir einen Tip geben, wo die Abfrage beginnt? Ich finde einfach nichts, was es sein könnte. Nach #define LCD_RW_PIN wird LCD_RW_PIN nicht mehr genutzt. Brain
ok- dann werd ich wohl nochmal den lötkolben auspacken müssen. Vielen dank und noch schöne Feiertage. MfG
du musst natürlich auch in der lcd.c schauen du musst vor allem die Funktion lcd_read ersetzen, in manchen Fällen durch eine Warteschleife, in einem Fall wird in der Funktion lcd_putc die Position gelesen ... am einfachsten ist eigentlich schon der Lötkolben wenn du noch einen Port frei hast ... Walter
Lass den Lötkolben eingepackt. Alle Abfragen laufen in der Fleury Lib über eine einzige Funktion. Die musst du im lcd.c ersetzen, und dann sollte dein LCD auch schon laufen. Die Funktion:
1 | static uint8_t lcd_waitbusy(void) |
2 | |
3 | {
|
4 | delay( 4000 ); // delay 4ms |
5 | return 0; |
6 | }/* lcd_waitbusy */ |
@Karlheinz >Alle Abfragen laufen in der Fleury Lib über eine einzige >Funktion. Die musst du im lcd.c ersetzen, und dann sollte >dein LCD auch schon laufen schau dir lieber mal den Code von Fleury an bevor du Tipps gibst, ich sagte ja bereits dass in lcd_putc die Position gelesen (und verwendet!) wird, das ist also auf jeden Fall auch zu ändern ..
Walter wrote: > @Karlheinz > schau dir lieber mal den Code von Fleury an bevor du Tipps gibst, > ich sagte ja bereits dass in lcd_putc die Position gelesen (und > verwendet!) wird, das ist also auf jeden Fall auch zu ändern .. Das ist richtig. Aber so schlimm auch wieder nicht. Solange der automatische Wrap nicht aktiviert wird und das LCD nicht aktiv abgefragt wird, ist das kein Problem. Für erste Versuche reicht es auf jeden Fall.
Erfolgserlebnis! Ich hab einfach den einen Draht noch angelötet und jetzt läuft alles. Super Weihnachtsgeschenk :-) bestes
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.