Forum: Mikrocontroller und Digitale Elektronik M16C/62P Ausgabe eines Strings auf LCD - 8 Bit Display


von oliver (Gast)


Lesenswert?

Hallo Zusammen

Ich möchte Euch um Hilfe fragen.

Ich habe einen uP von Glyn EVBM16C/62P und ich arbeite mit dem Tasking
Compiler

Die Displayansteuerung habe ich schon gemacht und diese funktioniert
auch tip top.
Die Zeichenausgabe mit dem Befehlssatz des HD44780 funktioniert
einwandfrei.

Nun möchte ich aber einen Integerwert auf mein Display ausgeben.
"Es kann auch ein anderer Datentyp sein"

Ich habe zuvor in meinem Programm einen Totalwert berechnet und möchte
diesen nun ausgeben.

Das Display hat 8 Datenleitungen und 3 Steuerleitungen, also ein
Standarddisplay

Hat da jemand von Euch vielleicht eine Idee, wie ich das am Besten
anstellen kann?
oder hat jemand ein Beispielcode für diese Idee?
oder geht das evt. gar nicht?


Danke für Eure Infos

oliver

von olaf (Gast)


Lesenswert?

Es gibt zwei Moeglichkeiten:

1. Du benutzt einfach sprintf um alles in einen String umzuwandeln
   gibst den dann zeichenweise an dein Display aus. Zumindest der
   Compiler von Renesas kann das, bringt also die notwendige
   Libary mit.
   Nachteil davon ist aber das sowas immens Ram/Rom verbraucht
   da printf nicht ganz ohne ist.

2. Du schreibst dir dein eigenes kleines printf das deutlich dummer
   ist aber eben auch nicht so verschwenderisch mit den Resourcen
   umgeht. Wie das geht erklaert dir z.B dein Kernighan und Ritchie.

Olaf

von oliver (Gast)


Lesenswert?

Hallo Olaf

Danke für die Info bezüglich des sprintf Befehls

Kannst Du mir vielleicht noch ein wenig mehr über diesen Befehl
erklären.
oder wo gibt es weitere Infos?

Der Integerwert liegt bereits vor in meinem Programm in einer Variable
gespeichert.
z.B.
preis == 10; (Preis ist als integer deklariert)

Wie müsste denn diese Anweisung genau aussehen?

Gruss Oliver

von Alex (Gast)


Lesenswert?

Beispiel:

void main(void)
{
  int preis = 10;
  char meinstring[255];

  sprintf(meinstring,"Der Preis lautet: %d",preis);
}

In meinstring iss nun der String "Der Preis lautet: 10" drin.
Du könntest aber direkt einen Pointer zum Speicherbereich machen, die
dafür zuständig ist der LCD-Anzeige zu sagen, was sie anzeigen soll.

Oh und mainstring[255] iss vielleicht ein bischen viel natürlich ;)

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.