adc in float in char für display wandeln

OP #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 :-)
OP #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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.