Float Variablen ueber UART

Gast #275606
Lesenswert?
• ▲
▼
Hallo,

arbeite mit ATMega16, programmiere in C, verwende WinAVR-Compiler.

Anfaengerfrage: wie uebertraegt man eine float Variable vom PC auf den
uC via UART? Welches ist da die Standard-Loesung?

Ich habe an folgendes gedacht: Da ich zB 1.357 uebertragen moechte
multipliziere ich diese Zahlnoch auf dem PC mit 1000, was dann 1357
ergibt, uebertrage sie in 2 bytes auf den uC, und speichere sie hier
als float wieder ab und teile sie durch 1000. Dann hab ich auf dem uC
meine 1.357.

die zu uebertragenden Zahlen sind im Bereich -3...+3, 3
Nachkommastellen sind ausreichend.

Gibt es einfachere/elegantere Loesungen? Was spricht das Forum?

mg,
Johannes

Gibt es einfachere Loesungen?
Gast #275608
Lesenswert?
• ▲
▼
danke,
das ist eine coole Idee. 4bytes lesen und uebertragen dauert dazu
warscheinlich nicht so lange wie mit 1000 multiplizieren, in bytes
zerhacken, uebertragen, wieder zusammensetzen und dann durch 1000
teilen.

hast du ein kurzes Beispiel bei der hand wie man in C 4 bytes ausliest
(hab sowas am PC noch nicht gemacht)

mg,
Johannes
Gast #275609
Lesenswert?
• ▲
▼
Hier mal ein Beispiel (ungetestet, sollte aber stimmen):

char * adresse;
adresse=(char *) &floatwert;  //Adresse des floats auf Byteebene lesen

uart_sendbyte(*adresse);   //Bytes über UART versenden
uart_sendbyte(*(adresse+1));
uart_sendbyte(*(adresse+2));
uart_sendbyte(*(adresse+3));

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.