LCD schreibt keine zeichen sonder wechselt die zeile

OP #1384866
Lesenswert?

hallo

ich habe ein problem mit meinem lcd display von pollin (best. 120591
datenblatt im anhang).
und zwar kann ichs zwar initialisieren und auch befehle senden (kursor
nach links und rechts laufen lassen, blinken usw.).
nur wenn ich zeichen senden möchte springt der cursor in ne andere zeile
anstatt ein zeichen zu schreiben...

kurzes beispiel:

hauptprogramm:
rcall warte1s        ;1 sekunde warten
rcall inc_cursor      ;cursor nach rechts verschieben
rcall warte1s        ;1 sekunde warten

ldi r17, 0x42            ;"R"laden
rcall senddaten        ;"R senden

rcall warte1s        ;1 sekunde warten
rcall inc_cursor      ;cursor nach rechts verschieben
rcall warte1s        ;1 sekunde warten
rcall inc_cursor      ;cursor nach rechts verschieben
rcall warte1s        ;1 sekunde warten
rcall cursor_home      ;cursor nach links oben verschieben
rjmp hauptprogramm

wenn ich das schreibe springt der cursor nach rechts springt in die
zweite zeile springt wieder nach rechts und dann in seine home position.
hab den code im anhang und das datenblatt vom lcd auch hoffe irgendwer
kann mir helfen bin mittlerweile echt ratlos...

danke im vorraus
mfg daniel
Angehängte Dateien:
OP #1384948
Lesenswert?

erstmal danke für deine antwort

ja RS ist bei "rcall senddaten" auf 1 gesetzt (siehe anhang)
die pinzuordnung passt auch (habs schon 1000 mal überprüft :-() zudem 
denk ich könnt ich dann keine befehle senden weil ich ja dann nen 
undefinierten zustand an dem pin hätte (bei mir PD4)

hier wär kurz nochmal der code der im anhang ist ja doch recht lang...

;Daten an LCD schicken (Unterprogramm)
senddaten:          ;Sprungmarke
mov r18, r17        ;Sicherungskopie (von r17 in r18 laden)
swap r17          ;Nibble vertauschen
andi r17, 0b00001111    ;nicht verwendetes Nibble auf 0 setzen
sbr r17, 1<<4        ;auf Daten Stellen
out portD, r17        ;Daten Übertragen
rcall enable        ;Enable impuls
;erstes nibble geschafft
andi r18, 0b00001111    ;nicht verwendetes Nibble auf 0 setzen
sbr r18, 1<<4        ;auf Daten stellen
out portD, r18        ;Daten Übertragen
rcall enable        ;Enable Impuls
rcall warte5ms          ;warte 5ms
ret              ;zurück
Persönliche Seite #1384950
Lesenswert?

Jep, ich hatte Deinen angehängten Code leider übersehen.
Du hast einmal in "sendbefehl" sbr und einmal cbr drin. Das heißt, Du 
setzt da schon RS nicht richtig? Die eine Hälfte kommt als Befehl, die 
andere als Daten an oder verstehe ich das falsch?
Wenn das so wäre, dann verwirrst Du das Teil schon bei Befehlen mit 
halben Datenpaketen...
OP #1384955
Lesenswert?

ja hast schon recht damit bring ich das gut teil völlig durcheinander 
hab ich übersehen hat nur leider nix gebracht hab genau den gleichen 
fehler wieder...

hab da vorhin ein bisschen dran rumgespielt um zu sehen ob er n andern 
fehler macht wenn ich beide einfach änder und hab dann wohl übersehn den 
einen wieder umzuschreiben ...verzweiflungstaten halt...
Persönliche Seite #1384956
Lesenswert?

Münzi Münzi schrieb:
> ja hast schon recht damit bring ich das gut teil völlig durcheinander
> hab ich übersehen hat nur leider nix gebracht hab genau den gleichen
> fehler wieder...

Naja, zumindest ist ein Fehler schon mal raus. Wenn sich bei Ändern des 
RS-Setzens kein Unterschied ergibt, würde ich mal schauen, ob die 
RS-Leitung auch wirklich an dem Pin klemmt, dessen Bitstelle Du da 
beschreibst.
OP #1384959
Lesenswert?

ich könnt scheiße schrein
hab das layout in sprint erstellt und blöd wie ich bin die pinnummern 
falsch aufgschrieben habs grad nochmal mit der target bibliothek 
verglichen und das feststellen müssen mich furchtbar doof fühl

also 1000 dank dass du dich zu so später stunde noch mit sonem mist 
abgibst
gute n8
mfg
Persönliche Seite #1384963
Lesenswert?

Münzi Münzi schrieb:
> ich könnt scheiße schrein
> hab das layout in sprint erstellt und blöd wie ich bin die pinnummern
> falsch aufgschrieben habs grad nochmal mit der target bibliothek
> verglichen und das feststellen müssen *mich furchtbar doof fühl*
>
> also 1000 dank dass du dich zu so später stunde noch mit sonem mist
> abgibst
> gute n8
> mfg


Kein Problem. Freut mich, Dir erfolgreich geholfen zu haben. 
*Bierchenkipp N8 :)

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