CodeVisionAVR sprintf Funktion geht nicht (float in char sc

Gast #214358
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.
Gast #214359
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

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