智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1664|回复: 1
打印 上一主题 下一主题

[咨询] mma8451读取数据问题

[复制链接]

1

主题

6

帖子

0

精华

高级会员

Rank: 4

积分
950
威望
492
贡献
284
兑换币
313
注册时间
2015-4-22
在线时间
87 小时
毕业学校
武汉理工大学
跳转到指定楼层
1#
发表于 2016-2-5 14:36:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问下大家读取的例程是什么的 2g量程只能读到1000左右,数据处理也不太懂,帮忙看下这样有什么问题吗

uint8_t checkflg=0;
  uint8 XYZ_CFG_Data ;


  while(checkflg !=1)      //测试灯不闪烁,线未连接,查找硬件问题
  {
    checkflg = IIC_ReadAddr_byte(MMA8451_RADDR, MMA8451_DSR, &XYZ_CFG_Data);   
    delay_1us(100);      // 延时100us
  }      

  if(XYZ_CFG_Data&0x80)
  {
    checkflg=0;
    while(checkflg !=1)           //测试灯不闪烁,线未连接,查找硬件问题
    {
      checkflg=IIC_ReadAddr(MMA8451_RADDR, MMA8451_XOUT, XYZ_Data, 6);
      delay_1us(100);      // 延时100us
    }      
  }   

  for(int i=0;i<3;i++)
  {
    AdColle[i+3]=( XYZ_Data[i*2]<<8|XYZ_Data[i*2+1] )>>4;    //MMA8451 AD采集14位  向右移4位,数据位一个12位的AD采集精度
    if(AdColle[i+3]>=0x0800)AdColle[i+3]= 0 - ( ( ~AdColle[i+3] )&0x07ff );
    //数据转换,根据数据手册MMA8451Q  第47页 Table 75. Accelerometer Output Data
    //将数据转化为一个 +-2g的范围   
  }




回复

使用道具 举报

1

主题

140

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2989
威望
1511
贡献
942
兑换币
999
注册时间
2014-1-26
在线时间
268 小时
2#
发表于 2016-2-6 12:05:54 | 只看该作者
可以参考下拉普兰德库里面关于8451的代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-27 02:59 , Processed in 0.039317 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表