[STM32F1] 计算ADXL345加速度值问题

[复制链接]
2031|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

粉丝
快速回复 在线客服 返回列表 返回顶部