Hallo! an Alle,
weiss jemand zufällig wie man printf so verbiegen kann,
das man es für Ausgaben auf ein LCD-Display benutzen kann.
Ich meine anstatt auf einem Bildschirm irgend Text oder Zahlen
Auszugeben eben auf dem LCD-Display.
Hinweis:
Das Display ist an 2Port's angeschlossen.
Wenn jemand Ideen oder Ansätze hat oder sogar weiss wie es geht, her
damit.
Gruß Klaus
> Hallo! an Alle,> weiss jemand zufällig wie man printf so verbiegen kann,> das man es für Ausgaben auf ein LCD-Display benutzen kann.
Das hängt davon ab, welche C-Library du verwendest.
@Grimm_zek
Bitte mal einfach mal die Schnauze halten.
@Rolf
Ich hoffe Du kennst Ride von Raisonance.
Nun ich benutze die Standard C-Library bzw. das was von Raisonance
mitgeliefert wird in der Demo Version.
Aber es ist im Prinzip mal egal ich wollte einfach nur wissen ob man
den printf befehl für eigene Ausgaben nutzbar machen kann, Ich würde
ungern das Rad neu erfinden wollen.
Vielleicht ist es auch besser eine eigen Routine zuschreiben.
Gruß Klaus
@Michael
Einfach die Schnauze halten wenn Du nichts Konstruktives beitragen
möchtest.
Wer sich hier über jeden Scheiß die Schnauze vereisst der ist hier wohl
falsch gepolt.
Ausserdem will ich hier niemanden beleidigen etc... wer sich jetzt auf
den Schlips getreten fühlt dafür kann ich nichts aber wer mich von der
Seite blöd anmacht dem gebe ich schon kontra.
Ausserdem weiss niemand alles und ich denke doch, das dies ein Forum
ist in dem Wissen ausgetauscht bzw. weiter gegeben darf.
Ich hab von niemanden gefordert einen kompletten Code bereitzustellen
um ihn einfach zu kopieren, oder!
bissel will ich schon noch selber machen. ;-)
Mfg Klaus
Um wieder zum Anfangsthema zurückzukommen:
@cazy horse
Wie kann man mit printf in den RAM schreiben und wie holt man den
Inhalt wieder heraus, um ihn dann an ein LCD zu schicken?
Wie es mit einem [Feld] geht, weiß ich, aber nach stundenlangen
vergeblichen Versuchen mit printf muss ich doch hier noch einmal
nachfragen.
MfG
Wolfgang
Sicherer:
snprintf(buffer, 50, "foo:%d bar:%d", foo, bar);
Desweiteren ist üblicherweise bei der Beschreibung der C-Library des
Compilers beschrieben, welche Funktion für die Ausgabe einzelner
Zeichen zuständig ist, die von printf/puts/etc. verwendet wird, und wie
diese durch eine eigene zu ersetzen ist.
Möglicherweise heißt die putchar oder putc oder so.
Der Compiler liefert (zumindest in diesem Falle) eine mit, die die
Zeichen auf der seriellen Schnittstelle ausgibt.
Hi
wobei man dann auch unbedingt den Rückgabewert von snprintf() prüfen
sollte, denn snprintf() schreibt AFAIK n Zeichen in den Puffer. Ist n
erreicht bricht die Funktion ab und schreibt kein \0 mehr in den
Puffer und das resultiert in einem unterminierten String. Als minimale
Fehlerbehandlung empfiehlt sich dann sowas:
''Wer sich hier über jeden Scheiß die Schnauze vereisst der ist hier
wohl falsch gepolt.
Was bist Du denn für ein Nikolaus ?
Wohl zuviel Unterschichtenfernsehen gekuckt.
> Ich hoffe Du kennst Ride von Raisonance.
Nein, leider nicht.
> Aber es ist im Prinzip mal egal ich wollte einfach nur wissen ob> man den printf befehl für eigene Ausgaben nutzbar machen kann,
Nun, wenn du eine allgemeine Antwort willst, so lautet diese "nein".
In der C-Norm ist nichts dafür vorgesehen. Einige Implementationen
bieten aber dennoch eine Möglichkeit, die Ausgaben an eine
selbstgeschriebene Funktion zu leiten, aber die sieht dann eben je nach
Implementation unterschiedlich aus. Daher meine Frage. Schon mal in der
Doku nachgelesen, ob da was dazu steht?
Die Alternative ist das shcon angesprochene snprintf, mit dem du eben
in einen Puffer schreibst, den du dann ausgeben kannst. Ist halt nicht
so elegant wie direkt mit printf, geht aber zur Not auch.
@Matthias:
Ich würde die Prüfung einfach bleiben lassen und immer ans Ende das
'\0' hängen. Meist braucht das if alleine schon mehr Zeit als das
Schreiben dieses Bytes.
Eine eigene Frage?
Dieser Thread ist über 20 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.