Hi, ich stelle eine Geradengleichung im MC167 gerade auf und dabei verwende ich Float als Datentyp bei der Steigung und dem Endwert. Diesen Endwert möchte ich jetzt auf Int Ganzzahl konvertieren und dann als Wert für eine PWM verwenden (momentan wird die mit 0x0000-0xffff angesteuert für 0 bis 5V! MfG, Andreas Heisele!
Ich gehe mal davon aus, dass Deine Werte alle positiv sind. Wenn das der Fall ist, sollte ein impliziter cast auf int kein Problem sein.
Runden nicht vergessen! Bei rein positiven Zahlen reicht: int i; double j; i = (int)( j + 0.5 );
@Karl Heinz: Hast natürlich recht. Bei einem cast von float nach int wird ja der Nachkomma-Teil einfach abgeschnitten...
... und das kann zu bösen Überraschungen führen wenn man keine Rundungskorrektur macht :-)
Ja mal schaun wie stark sich das auf die Linearisierung meiner NTC Kurve auswirkt! Danke schonmal 7-) werd wohl erstmal (int)(gleichung) ausprobieren und wenn das zu ungenau ist müsste ich dann wohl (int)(gleichung+0.5) machen oder?!?
"müsste ich dann wohl (int)(gleichung+0.5) machen oder?!?" Falls Du dies nicht als unzumutbare Tipparbeit empfindest. :-) Was hindert Dich daran, genaue Ergebnisse zu produzieren ?
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.