打印
[STM32F1]

计算ADXL345加速度值问题

[复制链接]
1838|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ljxpro|  楼主 | 2016-2-2 09:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IDE:Keil ARM 5.11
使用STM32F103的I2C2连接ADXL345,计算加速度值。
以下代码计算正确:
//xyz[i]:xyz加速度补码值,uint16_t
//a_xyz[i]:xyz加速度值,单位g
a_xyz[i] = -(float)((0xFFFF-xyz[i]+1) * 0.0039f);//负数
以下代码计算错误:
a_xyz[i] = -(float)((0-xyz[i]) * 0.0039f);//负数
沙发
xlong_06| | 2016-2-2 15:01 | 只看该作者
xyz数组中的值是以补码形式存在的,不能简单的按照正常的负负得正来计算,所以后面那个错了!

使用特权

评论回复
板凳
ccw1986| | 2016-2-2 21:17 | 只看该作者
是按补码形式计算的吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

0

粉丝