hi ich habe ein problem: i habe einen adc wert von: 33 dann ist hier erstmal mein code: http://pastebin.com/V737JksM mit adc_val=30 => power ist 0.024 aber r ist nicht korrekt, es zeigt an -7915.216 aber es sollte etwas positives sein... was ist falsch in meiner rechnung?
Davon ausgehend, dass Du nicht versteckte Reklame für pastebin machst, verstehe ich nicht, warum Du diese 4 Zeilen nicht hierher kopiert hast. Es waere doch schade, wenn der geneigte Leser, der nach X Jahren mit demselben Problem hierher surft und dann vielleicht betrübt feststellen müsste, dass pastebin nicht mehr existiert. Deshalb:
1 | float power; |
2 | float r; |
3 | |
4 | power=(float)(adc_val)/4096.0f*3.0f; |
5 | r=3000.0f/power-1000.0f; |
Martin Fischer schrieb: > es zeigt an -7915.216 Wer oder was zeigt denn das an? Es liegt nahe, das deine Ausgabe von Zahlen eine Fehler hat.
Ja stimmt! ^^ Die konvertierung von float zu string hatte nur 16 bit zahlen verarbeitet, da ich aber im 100k Bereich hantiert hatte musste ich das auf 32 umstellen
>
1 | > power=(float)(adc_val)/4096.0f*3.0f; |
2 | > r=3000.0f/power-1000.0f; |
3 | >
|
Was passiert zur Laufzeit wenn adc_val Null ist?
Arne S. schrieb: >>> power=(float)(adc_val)/4096.0f*3.0f; >> r=3000.0f/power-1000.0f; >> Was passiert zur Laufzeit wenn adc_val Null ist? Ich würde vermuten: Nix! Aber wenn bei der Berechnung von power genau 1000.0 rauskommt... Also etwa bei adc_val=1365333,333. Aber ich denke mal, daß adc_val eine ganze Zahl ist, von daher wird bei power niemals genau 1000.0 rauskommen.
Gilt in C nicht auch Punkt vor Strich, wie sonst auch in der ganzen westlichen Welt?
Nachtrag: Der Strich von links unten nach rechts oben ist natürlich kein Strich, sondern ein Punkt!
Dispol schrieb: > Gilt in C nicht auch Punkt vor Strich, wie sonst auch in der > ganzen > westlichen Welt? Hast recht. Asche auf mein graues Haupt :-)
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.