M16C/62P Ausgabe eines Strings auf LCD - 8 Bit Display

Gast #222047
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
Gast #222048
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
Gast #222049
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
Gast #222050
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.