www.mikrocontroller.net

Forum: Compiler & IDEs Konvertierung 4 Bytes in einen Float


Autor: HoLdo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich versuche verkrampft eine Float-Variable, die in 4 einzelne Bytes zum 
Senden über die SPI-Schnittstelle zerstückelt wurde, wieder zu einer 
Float zusammenzusetzen.

Bevor Ihr mir jetzt Eure Lösungen bringt, erzähl ich euch mal lieber was 
ich schon alles probiert hab:

- Konvertierung über ein union:      ->(ohne Ergebnis, ohne 
Fehlermeldung)

float bytes2float(unsigned char bytearray[3])
{
      union Byte2Float
      {
        float f32;
        char f_uart [4];
      };
      union Byte2Float help;
      help.f_uart[0]= bytearray[0];
      help.f_uart[1]= bytearray[1];
      help.f_uart[2]= bytearray[2];
      help.f_uart[3]= bytearray[3];
      return help.f32;
};

- Konvertierung über Bitshiften         ->(ohne Ergebnis, Fehlermeldung)

unsigned long help[3];
int i;
for(i=0;i<=3;i++)
{
    help[i]=(unsigned long)bytearray[i];
};
f=(float)(0x0000000000000000|(help[0]<<24)|(help[1]<<16)|(help[2]<<8)|(h 
elp[3]));

Achso, ich arbeite mit der IAR Workbench auf MSP430F149IPAG

Falls euch eine Lösung einfällt, ich bin für alle Vorschläge dankbar.

MfG
derHoLdo

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Umbedingt suche verwenden habe vor kurzem etwas ähnliches gebraucht.

Beitrag "Float to Raw Bytes"

sowas gehört nicht in die Codesammlung, besser GCC !

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.