Hallo zusammen,
zu meiner Schande schaffe ich es nicht eine negative Dezimalzahl ins 2er
Komplement umzurechnen.
Hier meine Umrechnungsfunktion:
1 | uint8_t dec2comp(int8_t value)
|
2 | {
|
3 | uint8_t x;
|
4 | if(value < 0)
|
5 | {
|
6 | x = ~value;
|
7 | x++;
|
8 | }
|
9 | else
|
10 | x = value;
|
11 |
|
12 | return x;
|
13 | }
|
Ich benötige dies um einen MMA7455 Beschleunigungsensor zu kalibrieren.
Wenn die umzuwandelnden Werte positiv sind, funktioniert meine
Kalibrierungsroutine. Falls sie negativ sind, klappt es nicht.
Daraus folgere ich dass ich korrekt in die Register des
Beschleunigungssensors schreibe.
Hat jemand von euch eine Idee?