Seite 1 von 1
ftoa Befehl
Verfasst: Fr Apr 24, 2015 6:42 pm
von Blueilidan
Hallo,
ich habe ein Problem mit einer adaptierten Programmierung.
Kann mitr vllt jemand erklären wieso diese Befehl bei mir nicht funktioniert...
Ich Versuche das ganze mit AVR Studio 6.2
Mein Ziel wäre es eine Temperatur und Feuchtigkeitsmessung mit einem ATMega328p zu programmieren.
Sensor ist ein "SHT71"
Ich habe eine ältere Programmierung gefunden für solch eine Steuerung.
Ich habe mich schon mehrfach versucht in bestehende Foreneinträge schlau zu machen, aber ohne Erfolg...
float-Wert in string?
ftoa(humi_val.f,2,Humidity); fehlername: implicit declaration of function 'lcd' [-Werror=implicit-function-declaration]
Bei dem Blicke ich nciht durch...
Danke schon mal für die Mühe
Re: ftoa Befehl
Verfasst: Fr Apr 24, 2015 9:11 pm
von Xin
ftoa kenne ich nicht.
Wie sieht's mit
sprintf() aus?
Code: Alles auswählen
char * buffer [32];
sprintf( buffer, "%f", 3.1415 );
printf( "String: %s\n", buffer );
Re: ftoa Befehl
Verfasst: Sa Apr 25, 2015 5:53 am
von mfro
sprintf() ist ein bißchen "too heavy" für den ATMega, da paßt dann sonst nix mehr rein. Der arme Kerl muß mit 2kB SRAM und 32 kB Flash auskommen.
In der AVR libc gibt's für den Zweck ein dtostrf().
Das dürfte allerdings gar nicht das Problem sein, wenn ich mir die Fehlermeldung anschaue:
Blueilidan hat geschrieben:implicit declaration of function 'lcd' [-Werror=implicit-function-declaration]
(oder Du hast uns den wesentlichen Teil der Fehlermeldung unterschlagen).
Da steht nichts von "ftoa()". Wo ist die Funktion lcd()?
Re: ftoa Befehl
Verfasst: Mi Apr 29, 2015 6:59 pm
von Blueilidan
Das mit LCD... war ein kopier fehler... sorry die meldung ist die selbe hab nur die falsche zeile erwischt ^^
Habe das Problem schon gefunden.
Den Befehl gibts nicht bei meinem ATMega...
sprintf() sollte gehen nur bekomme ich da leider auch eine fehler meldung (too many argements) was ich nciht ganz verstehe da ich schon mal ein ausgame gemacht hab e mit mehr als nur 2 sachen...
bin leider beruflich unterwegs deswegen kann ich nciht auf meine Programmierung zugreifen....
ich versuche das ganze einfach mal so das ich die Ausgabe ohne komma(float) mache. da es eigentlich für meine messung komplett egal ist. da ich nicht so genau bessen muss.
anfang nächster woche komme ich wieder dazu es zu testen.
danke nochmal für Euer bemühen.
lg Martin
Re: ftoa Befehl
Verfasst: Do Apr 30, 2015 12:25 pm
von Xin
Blueilidan hat geschrieben:sprintf() sollte gehen nur bekomme ich da leider auch eine fehler meldung (too many argements) was ich nciht ganz verstehe da ich schon mal ein ausgame gemacht hab e mit mehr als nur 2 sachen...
Das verstehe ich jetzt nicht. Hier wäre es gut, wenn Du Quelltext und Fehlermeldung mitschickst.
Blueilidan hat geschrieben:bin leider beruflich unterwegs deswegen kann ich nciht auf meine Programmierung zugreifen....
ich versuche das ganze einfach mal so das ich die Ausgabe ohne komma(float) mache. da es eigentlich für meine messung komplett egal ist. da ich nicht so genau bessen muss.
In dem Fall denk ans Casten. Ein float, welches als Integer ausgegeben wird, wird eventuell nicht das gewünschte Ergebnis liefern.
