首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MMA7455L传感器i2c获取数据

从MMA7455L传感器i2c获取数据
EN

Stack Overflow用户
提问于 2018-06-27 18:19:54
回答 1查看 57关注 0票数 0

我成功地连接了MMA-7455L传感器,我正在从它获取数据。不过我有一个问题如果有人能帮我的话。

有人能帮我理解这段代码吗?我用它来获取数据。

代码语言:javascript
复制
i2cbuf[1] = 0x00;
HAL_I2C_Master_Receive(&hi2c1, 0x1D<<1, &i2cbuf[1], 6, 10);

ax = -(i2cbuf[1]<<8 | i2cbuf[2]);
ay = -(i2cbuf[3]<<8 | i2cbuf[4]);
az = -(i2cbuf[5]<<8 | i2cbuf[6]);

我正在获取数据,外坑是8位的。我知道我正在组合两个8位响应,使其成为16位响应。但我不明白的是它的负面部分。

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2018-06-28 19:35:32

我的猜测是,返回的值是16位有符号整数(int16_t),因此读数的范围是-32767到0到+32767。无论是谁用您正在使用的加速度计示例代码设计了电路板,都希望这些值在电路板的法线方向上能够正确读取,所以他们否定了结果

例如:-(i2cbuf[1]<<8 | i2cbuf[2]);如果两个i2c值都是0xFF,你会得到0xFFFF,它是-1 (如果类型是int16)

否定它,你会得到+1,这应该表示对应用程序的正加速

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51060295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档