

- Najlepsze
- Wszystkie komentarze

linijkana20cm
1
@carver x to chyba sygnały wejściowe elektroniku ( ͡° ͜ʖ ͡°)

RicoElectrico
0
@carver: rzucę słowem "inverting summing amplifier"

Mirko, mam problem z odczytami z akcelerometru, nie mam pojęcia dlaczego mi się wszystko rozjeżdża.
Otóż mam scalaka MPU-9150 z m.in 3-osiowym 16-bitowym akcelerometrem. Wynik pomiaru przyspieszenia zapisywany jest do dwóch rejestrów, w pierwszym są bity 15..8 a w drugim 7..0.
Odczyt za pomocą I2C i wysłanie na UART robię tak:
Otóż mam scalaka MPU-9150 z m.in 3-osiowym 16-bitowym akcelerometrem. Wynik pomiaru przyspieszenia zapisywany jest do dwóch rejestrów, w pierwszym są bity 15..8 a w drugim 7..0.
Odczyt za pomocą I2C i wysłanie na UART robię tak:
TWI_read_buf(MPU9150_ADDR,
- Najlepsze
- Wszystkie komentarze

rejestr 1: ACCELXOUT[15:8]
rejestr 2: ACCELXOUT[7:0]
@Visher: I dokładnie tak to masz interpretować, rej2 jest młodszym bajtem wartości, a rej1 starszym. Cała wartość ma postać ((uint16)rej1)*256 + rej2.
A ty dodajesz jakieś dzikie 128 do młodszego bajtu, czyli przesuwasz go na dzień dobry o połowę w górę. I dokładnie to widać na wykresie (to, co ci nie pasuje - przesunięcie).

@Visher: tradycyjna powinno być typu uint8t, po odebraniu jeszcze w procku składasz to przesuwając w lewo msb i zapisując do do int16t . Coś w ten deseń powinno zadziałać. Albo przesylasz oba bajty i na kompie to robisz.