lcd problem, p. fleury

Gast #735332
Lesenswert?

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
Gast #735334
Lesenswert?

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
Gast #735342
Lesenswert?

>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
Gast #735343
Lesenswert?

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
Gast #735364
Lesenswert?

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
#735365
Lesenswert?

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 */
Gast #735369
Lesenswert?

@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 ..
#735453
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren