打印

关于用串口输出MMA7455的三轴加速度,每个都是0

[复制链接]
696|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
亚气|  楼主 | 2015-12-17 20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
楼主找到一个MMA7455的历程,测出三轴加速度为aa[x],aa[y],aa[z];
自己强行凑了一个串口输出程序,但是输出的三轴加速度都显示乱码,用十六进制显示的话,也会看出加速度是随着模块运动而改变的,这个值应该就是我需要的值;
写了一个十进制一位一位输出的程序,但是处理之后再输出,加速度就一直是0了;
所以现在想问一下,MMA7455测得的是不是八位二进制的值?这个值我怎么转化为十进制,再用串口一位一位输出?
测试程序是原使用模拟SPI测得MMA7455的值的历程;下面的是我对aa[x]做的处理,一位一位输出G1,G2,G3都是0,想要输出的十进制的每一位数。
void Data_Deal1()
{
  uint NumA=0;
  uint k=1;
  while(aa[x]){
    NumA += (aa[x]%2) * k;
    aa[x] /= 2;
    k *= 2;
  }
  G1=(NumA/100+0x30);
  G2=((NumA%100)/10+0x30);
  G3=(NumA%10+0x30);
}

测试程序.zip

33.77 KB

相关帖子

沙发
1988020566| | 2015-12-21 22:51 | 只看该作者
推荐使用mpu6050的芯片

使用特权

评论回复
板凳
1988020566| | 2015-12-21 22:52 | 只看该作者
这个的融合算法也存在了。

使用特权

评论回复
地板
mmbs| | 2015-12-22 22:48 | 只看该作者
你仿真测试的数据有没有

使用特权

评论回复
5
mmbs| | 2015-12-22 22:48 | 只看该作者
是不是串口配置错误了。

使用特权

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

本版积分规则

1

主题

1

帖子

0

粉丝