aus sprintf(s_out_str, "hellxx (%d)-(%d)", MIN_BL, MAX_BL); sprintf_P(s_out_str, "hellxx (%d)-(%d)", MIN_BL, MAX_BL); oder sprintf_P(s_out_str, PSTR("hellxx (%d)-(%d)"), MIN_BL, MAX_BL); oder sprintf(s_out_str, PSTR("hellxx (%d)-(%d)"), MIN_BL, MAX_BL); ??? welche Version ist richtig, funktioniert und spart SRAM? Ich versuche alle Möglichkeiten, mal wird der Code zu groß, mal geht mir das SRAM aus
:
Verschoben durch Admin
Nur 2 richtig und spart RAM, aber in diesem Fall ist das auch nicht wirklich viel was gespart wird, da der zugrunde liegende String natürlich recht kurz ist. Aber Kleinvieh macht auch mist
:
Bearbeitet durch User
danke für deine Antwort gebrachts hats mir leider (noch) nichts flash alle mit sprintf 30.690 Bytes (von einem Maximum von 30.720 Bytes) alle mit sprintf_P 30.904 Bytes (von einem Maximum von 30.720 Bytes) ich habe ein flash & SRAM Problem nur deswegen vom nano328p auf den mighty_mini1284p gehen möchte ich (noch) nicht.
Also wenn sowohl dein Flash, als auch dein RAM komplett voll sind, dann musst du entweder schauen, ob du irgendwelche großen Speicherfresser hast, die du ersetzen kannst oder einen größeren µC nehmen. Es hat doch keinen Zweck, mit verschiedenen sprintf-Varianten zu jonglieren, in der Hoffnung, noch drei Bytes einsparen zu können, damit's passt.
Beitrag #4952221 wurde von einem Moderator gelöscht.
nun ja ich bin ja schon am aufräumen, das muss reinpassen ich kann ja noch reichlich an Texten sparen und an Variablen man fängt halt mal einfach gemütlich an dann stellt man fest das man weniger Variablen braucht -> schmeisst die also raus dann Texte müssen nicht so ausführlich sein -> gekürzt reicht auch ich bin auf einem guten Weg.....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.