Forum: Mikrocontroller und Digitale Elektronik CodeVisionAVR sprintf Funktion geht nicht (float in char sc


von Toni (Gast)


Lesenswert?

Funktioniert die Funktion „sprintf“ nicht bei CodeVisionAVR. Beim
compilieren gibt es keine Problem, sprich das Programm gibt keine Error
Meldung, dass der Befehl nicht verfügbar sei.
  float Frequenz;
  char Feld[5];
  Frequenz = 50.502;

  sprintf(Feld, "%f", Frequenz);

Wie könnte ich das denn sonst noch lösen dass der Wert der in
„Frequenz“ steht in das Array „Feld“ kommt.

von Chris (Gast)


Lesenswert?

Sers Toni,
in der stdlib.h gibt es tolle Umwandlungsbefehle wie z.B. ftoa(float
a,dezimalstellen,string), d.h. float to ascii.
Versuch folgendes:

char *string;
char buffer[6];
float a=21.345;

string=buffer;
ftoa(a,3,string);
//Und dann meinetwegen ans Display oder ans Terminal
lcd_puts(string);
puts(string);

Wird auf jeden Fall klappen.
Gruß Christian

von crazy horse (Gast)


Lesenswert?

project->configure->c-compiler->(s)printf features :-)

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
Noch kein Account? Hier anmelden.