adc in float in char für display wandeln

#1417082
Lesenswert?

Hallo,

habe da ein kleines Problem.

Ich möchte mit einer AD-Wandlung die Spannung eines Mignonakkus abfragen 
und diese auf einem Display darstellen. Die Abfrage klappt und anhand 
von LEDs kann ich ausrechnen was für eine Spannung der Akku hat. Durch 
eine Umrechnung ((2,56V/1024)*ADC) bekomme ich die aktuelle Spannung als 
float.
Die Übertragung auf das Display klappt auch. Leider bekomme ich anstatt 
1,44V einen utopischen Wert. Das Problem ist die Umwandlung von float in 
char.

Wie kann ich den errechneten Wert so in ein char konvertieren (einfache 
Lösung), dass die 1,44 im Display zu sehen sind? itoa und utoa ergeben 
den gleichen Müll.

Verwendet werden: AVR-Studio 4.15 und Atmega16 auf einem Pollin-Board.

Ich selber bezeichne mich als Neuling in der Programmierung mit wenig 
Erfahrung.

Danke
Angehängte Dateien:
#1417306
Lesenswert?

Da du sowohl hier als auch in deinen Kommentaren immer 1,44 schreibst, 
lass dir gesagt sein, dass man in Programmiersprachen normalerweise 
immer die engliche Schreibweise benutzt, bei der es kein Dezimalkomma 
sondern einen Dezimalpunkt gibt!
Also nicht 1,44 sondern 1.44

das i in itoa steh für int. das u in utoa steht für unsigned(int). Du 
willst aber float ausgeben, also wird wohl weder itoa noch utoa die 
passende Funktion sein :-)

Und auch immer daran denken:
Wenn auf dem Display schon 103 steht, und du gibst an dieselbe Stelle 
linksbündig 20 aus, dann steht auf dem Display 203 und nicht 20, weil 
niemand die 3 von den ursrünglichen 103 übeschrieben hat :-)
#1417838
Lesenswert?

Danke für die Antworten!

Habe gestern noch eine lange Nacht am Rechner gehabt. Aber es hat sich 
gelohnt. Ich glaube es war Karl heinz Buchegger der einen Code ins Forum 
gestellt hat der mir weitergeholfen hat. -->
Erst den int/1000 dann int%1000 dazwischen ein Komma. Das ganze wird mit 
sprintf irgendwie zu char... Muss ich mir noch mal in Ruhe anschauen und 
begreifen!
Aber nun bekomme ich die Spannungen der Akkus auf dem Display angezeigt.

Mein nächste Problem wird sein die Ausgänge als Soft-PWM einzurichten.

Im Anhang das geänderte Programm
Angehängte Dateien:

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