Forum: Mikrocontroller und Digitale Elektronik Position des Corsus auf dem LCD festlegen


von Timo (Gast)


Lesenswert?

Hallo,
Ich habe da mal eine Frage. Und zwar habe ich folgendes Problem:

Auf meinem Display gebe ich folgendes aus:

Time: 10.00 sec.

Nun möchte ich, dass der Cursor genau bei der letzen Stelle der 10.00 
blinkt. Also an Position 1/11 (1. Zeile / 11. Spalte).

Die Position gebe ich durch folgende Funktion an:
1
lcd_pos (1,11);

Den Cursor schalte ich wie folgt an:
1
lcdctrl(0x0F);

So nun ein Auszug aus dem Quellcode:
1
  lcd_pos (1,1);                
2
  lcd_text ("Time:");    
3
          
4
  lcd_pos (1,11);                
5
  lcdctrl(0x0F);                        
6
  sprintf (Ergebnis, "%6.2f",Belichtungsdauer);       
7
  lcd_pos (1,6);                
8
  lcd_text(Ergebnis);              
9
10
  lcd_pos (1,13);                
11
  lcd_text ("sec.");

Problem:
Der Corsur blinkt an der falschen Postion, und zwar an Position 2/1, 
sprich hinter dem Wort "sec."

Wie kann ich meinen Fehler beheben?

Mit freundlichen Grüßen Timo

von Karl H. (kbuchegg)


Lesenswert?

Timo wrote:
>
>   lcd_pos (1,13);
>   lcd_text ("sec.");
>
> Problem:
> Der Corsur blinkt an der falschen Postion, und zwar an Position 2/1,
> sprich hinter dem Wort "sec."
>
> Wie kann ich meinen Fehler beheben?

Indem du nach dem Hinschreiben des Wortes "sec." den Cursor
dorthin positionierst wo du ihn haben willst?

(Ist das eine Fangfrage?)

von let (Gast)


Lesenswert?

Der Cursor ist nicht irgendein Zeichen, sondern eine Positions-
markierung die angibt an welcher Stelle das nächste Zeichen
geschrieben wird. Jedes 'lcd_pos()' und 'lcd_text()' verändert
die Position des Cursors.

Setze die 'lcd_pos(1, 11);' Anweisung also an das Ende deines
Codeabschnitts, sprich hinter das 'lcd_text("sec.");'.

 - Michael

von Timo (Gast)


Lesenswert?

ja ... will die postion des corsurs festlegen ...also festlegen, wo 
dieser blinkt

von Timo (Gast)


Lesenswert?

Ich hab es schon, danke ...
Habe es nur an die falsche Position im Quelltext geschrieben ... sorry 
für die Frage ...

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
Noch kein Account? Hier anmelden.