Hallo, ich empfange über den Uart verschiedene unsigned char Werte. Dabei gehören jeweils immer 2 zusammen und sollen die die Vor- und Nachkommastelle eines Floatwertes bilden. Leider weiß ich nicht genau, wie ich den float Wert richtig zusammensetzen kann. Ich habe die Werte in einem unsigned char buffer[] gespeichert. Es gibt ja die Funktion atof nur dachte ich, da die ja char Werte erwartet, daß ich Probleme mit meinen unsigned char Werten bekomme.
float f = buffer[0] + 0.01*buffer[1]; Würde ich einfach mal so probieren. Vielleicht noch buffer[0] nach float casten...
Oh. Vielen Dank. Ich hab echt viel zu kompliziert gedacht. Oh Mann! Richtig lautet es float f = buffer[0] + 0.001*buffer[1]; und funktioniert...
Und wie willst Du auf diese Art zum Beispiel 100.75 bilden? Mit 100.750 = buffer[0] + 0.001*buffer[1] = 100 + 0.001 * 750 hast Du das Problem, dass die 750 nicht in Dein Byte passen! MfG Peter
Das stimmt natürlich. Dann müßte ich sicherstellen, daß buffer[1] < 100 gesendet wird und dann mit 0.01 multiplizieren. Das würde reichen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.