Hallo, ich setze den 12 Bit AD- Wandler TPS1014 von TI ein. Der gibt mir sein Ergebnis in ein Zweierkomplment aus: MAX 7FF0h MAX/2 0010h 0 0000h Min/2 FFF0h Min: 8000h Jetzt möchte ich die Werte in meinem MC umrechnen : Max => 0FFF; 0 => 7FF; Min => 000; Wir kann man die Werte umrechnen? Jemand eine Idee?
wo ist das Problem ? IF Testen ob das oberste Bit 1 ist. Then alles negieren und 1 addieren. Else Alles nach dez überführen.
ps: was im Else steht, hängt davon ab was Du mit den Werten machen willst. Das sind ja erstaml nur Zählerstände so zu sagen.
auf signed int umcasten, durch 16 dividieren (um die 12 Bits zurechtzuschieben) und 2048 addieren. genauso wie du auch einen Bereich -5 .. +5 in den Bereich 0 .. 10 überführst: du addierst 5 :-)
> MAX 7FF0h > MAX/2 0010h !!!! extrem nichtlinear > 0 0000h > Min/2 FFF0h !!!! extrem nichtlinear > Min: 8000h Das glaube ich nicht. Ich würde behaupten, es ist so: MAX 7FF0h MAX/2 3FF0h +1 0010h 0 0000h -1 FFF0h Min/2 CFF0h Min: 8000h Und damit ist es einfach: nur (unsigned) 0x8000 addieren. Und anschliessend um 4 nach rechts schieben, um auf die 12 Bit zu kommen. Oder so, wie Karl heinz Buchegger es schon geschrieben hat. > TPS1014 von TI Gibts nicht...
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.