SprintF und sscanf und das programm wird riesig wieso

Gast #1945511
Lesenswert?

Also folgende Geschichte wenn ich in meinem Programm ein array in eine 
variable umwandle und diese dann wieder zurück um sie an den usart zu 
schicken wird mein programm gleich 10k groß.
wieso???
und kann ich das irgend wie umgehen zum beispiel mit einer eigenen 
funktion....

ich probier schon selber nen bsichen kriegs aber seit zwei stunden nicht 
wirklich gebacken.

danke schon mal für die antwort

cya
Gast #1945530
Lesenswert?

hoi

  puffer ist mein char array was ich vom usart kriege
        und mit putstring packe ich es wieder auf den usart

        sscanf(puffer, "%d", &test);
  test++;
  putstring("\n\r Berechnete Ausgabe ");
  sprintf(puffer, "%d", test);


danke schonmal
#1945538
Lesenswert?

>wird mein programm gleich 10k groß

Mehr Details, Programm, µC-Familie?

sprintf usw. verbraucht immer eine Menge Speicher. Manche Compiler 
bringen Small- oder Tiny-Varianten mit. Meist kann man sich zur 
Formatierung aber selber eine optimierte Routine schreiben.

Andererseits, ist freier Speicher = verschenkter Speicher, wenn Du genug 
hast.
Gast #1945544
Lesenswert?

danke für die schnelle antworten also

controller atmega32

programm welches meinst du damit ????

und wo finde ich im programmers notepad die speicheroptimierung ???

ich check das gleich mal mit atoi und itoa

cya
Gast #1945761
Lesenswert?

Danke für alles ich habs jetzt geschafft.
Macht auch Sinn warum des teil so groß geworden ist.

Ich hab vorhin einfach nur die syntax von atof und atoi verplant.

das mit der speicheroptimierung hat auch gepasst jetzt ist das file 
sogar noch kleiner und ich krieg noch den rest vom projekt in den 
microcontroller.

also nochmal vielen dank

hier noch kurz die syntax falls es nochjemanden giebt der so verplant 
ist wie ich, was ich nicht vermute.

  putstring(puffer);
  test = atoi(puffer);
  test++;
  itoa( test, puffer, 10 );

cya

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren