ST意法半导体
直播中

旧念

9年用户 809经验值
擅长:可编程逻辑 电源/新能源 光电显示
私信 关注
[问答]

LSM303AGR能否以毫克为单位获取自测读数?

我对 MEMS IMU 很陌生。我有一个定制板,其中包含通过 I2C 连接到 SAMD21 MCU 的 LSM303AGR IMU。
我正在使用 STM32duino LSM303AGR 库。
我很难理解自检程序。是否有可能得到更简单的程序解释?
还,
1.自测需要设备不动吗?
2.我能否以毫克为单位获取自测读数(GetAxes() 方法而不是 GetAxesRaw()),如果可以,以毫克为单位的 ST_X/Y/Z 限制是多少?
(数据表中的表 3 中的 ST_X/Y/Z 是否与 LA_ST 相同?)
(根据数据表 LA_ST min = 17LSB max = 360LSB, 1LSb = 3.9mg,所以乘以 3.9 就是 mg?)

回帖(1)

代瑜

2023-2-7 11:00:25
最后,我解决了!问题出在按位运算中。应该做
int16_t 温度 = 0;
temp = i2c_readbyte(地址,0x28);
temp |= i2c_readbyte(addr, 0x29) << 8;
温度 >>= 6;
OUTX_NOST += 温度;
代替
OUTX_NOST += ( i2c_readbyte(addr, 0x28) | (i2c_readbyte(addr, 0x29) << 8) ) >> 6;
举报

更多回帖

发帖
×
20
完善资料,
赚取积分