www.mikrocontroller.net

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


Autor: oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.