Hi,
I'm using a BMI323 Shuttle Board 3.0 Flyer connected in I²C on an Arduino Uno R3 thanks to a level shifter.
My problem is when I read X, Y or Z axis, the return value sould be between -32768 and 32768 (2^16). But my usable range is -16384-> 16384, the other part (-32768 to -1616384 and 16385 to 32768) is never returned, why ?
It seems it's working on 15 bits instead of 16 bits, do you know why is it working like that ?
I'll link my Arduino code.
My accelerometer is setup as follow:
* ODR: 0x000C -> 1600Hz
* range: 0x0000 -> 2G
* filtering: 0x0000 -> ODR/2
* average: 0x0600 -> 64 sample
* mode: 0x7000 -> High
So I send 0x760C to the ACC_CONF register.
Thanks !
Solved! Go to Solution.
Hi dev_gnrb,
If you set BMI323 acc range to 2G, raw data output range should be -16384~+16384.
But 16384*2 = 32768 so it's not 16 bits right ? 🤔