Es wird oft geschrieben das sprintf() nicht funktioniert auf AVR, oder geht bei der Aussage nur um Speicherverbrauch.
Habe gestern etwas rumgespielt mit Mega 2560 R3, und das unten gezeigtes funktioniert.
Die Lib für lcd ist die LCDWIKI_KBV was sollte nichts zu sagen haben.
Sehe gerade das ich %.1d:%.2d:%.2d genommen habe, ist egal es funktioniert
Hallo Bernhard, was genau möchtest Du uns damit sagen? Und auch was meinst Du mit 'Die Lib für LCD ist die LCDWIKI_KBV was sollte nichts zu sagen haben' ?
ist nicht als Angriff oder so gemient, ich verstehe es nur nicht. kann aber auch daran liegen, dass Hochdeutsch nicht meine Mutersprache ist, sondern eine in der Schule vor langer Zeit mal angelernte Fremdsprache.
Ja habe gelesen, wie soll ich Dir Beweisen dass das was geschrieben habe funktioniert im kompletten Sketch, Foto, Video wohl nicht sonst sagst Du habe Präpariert, nicht die Wahrheit aufgenommen
Bis 100Km ab Köln, kann vorbei kommen mit meinem Krempel
Du hast nur ganze Zahlen und Zeichenketten getestet. Die gehen auch. Was Du nicht getestet hast ist float und das geht auf den AVR ohne Freischaltung nicht. Probiere es aus.
Das wpllte Dir @combie sagen.
Since the full implementation of all the mentioned features becomes fairly large, three different flavours of vfprintf() can be selected using linker options. The default vfprintf() implements all the mentioned functionality except floating point conversions. A minimized version of vfprintf() is available that only implements the very basic integer and string conversion facilities, but only the # additional option can be specified using conversion flags (these flags are parsed correctly from the format specification, but then simply ignored). This version can be requested using the following compiler options:
Danke.
Ja wie man sieht in den Codeschnipsel habe nur Datum, und Uhrzeit zu Anzeige gebracht.
Wo aber im Datum der Monath wird als String? (Wort) angezeigt.
Und JA mit Float und Double habe nicht rumgespielt, wollte nur um die über 10 Zeile mit Minimum 5 If den Sketch kürzen.
Ich habe die aussagen zu sprintf() und snprintf () so verstanden dass das im keinem Fall funktioniert.
Wie auch im #1 angemerkt, ist mir erst Heute eingefallen das ich Double ( %1d) genommen habe, wo auch ein Int reicht und wird ja wahrscheinlich benutzt.
Die funktionieren schon immer.
Was nicht funktioniert auf den AVR ist: .printf()
Es ist etwas anderes, wenn ich auf einem ESP Serial.printf() benutze oder auf einem AVR erst eine Variable füllen muss, die dann zur Anzeige gebracht wird.
OK Danke, wider was Gelernt, habe die Übersetzung falsch verstanden, was ich aber weis das mit %i tuts auch ohne Änderung am Speicherverbrauch.
Ist eben So wen man nicht Englisch gelernt hat.