智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 9737|回复: 41
打印 上一主题 下一主题

MPU6050

  [复制链接]

13

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
653
威望
395
贡献
150
兑换币
166
注册时间
2013-1-9
在线时间
54 小时
毕业学校
西安工程大学
跳转到指定楼层
1#
发表于 2013-9-1 09:44:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
帅哥美女!我的MPU6050读回来的六个值都是-257是怎么回事?而且不变,请求指导

4

主题

59

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1447
威望
699
贡献
430
兑换币
465
注册时间
2013-4-5
在线时间
159 小时
推荐
发表于 2013-9-2 22:15:09 | 只看该作者
背负蓝天的云 发表于 2013-9-2 21:26
我也是771啊?解决没?

解决了,I2C协议的时序不对
回复 支持 1 反对 0

使用道具 举报

11

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2311
威望
1210
贡献
743
兑换币
775
注册时间
2013-8-11
在线时间
179 小时
42#
发表于 2014-8-9 23:38:31 | 只看该作者
qiangkai311 发表于 2013-9-1 10:32
用的是IIC,S12模拟的,检测过了没有问题,用同样的时序获取了HMC5883的正常数据。。。。。。。

hellow,我也用S12 模拟的iic mpu6050 的数据可也采出,5883的怎么也猜不出来,地址也分开了,这是程序你怎么看??
#include "define.h"     
void GetDataS(uchar SlaveAddress,uchar REG_Address);
int16 x,y,z;
int16 tx,ty,tz;
float ax,ay,az;
float wx,wy,wz;
float atx,aty,atz;
int data_gauss[3]={0};
uchar data_t[6];
void Delay5us()
{
    _asm(nop);_asm(nop);_asm(nop);_asm(nop);
    _asm(nop);_asm(nop);_asm(nop);_asm(nop);
    _asm(nop);_asm(nop);_asm(nop);_asm(nop);
}
void main(void)
{
    float wave[4];
    SetBusCLK_80M();
    //EnableInterrupts;
    uart0_init();
    InitMPU6050();
    InitHMC5883L();
    for(;;)
     {
            x=GetData(SlaveAddress_6050,ACCEL_XOUT_H);
            y=GetData(SlaveAddress_6050,ACCEL_YOUT_H);
            z=GetData(SlaveAddress_6050,ACCEL_ZOUT_H);
            
            ax=MPU6050_Get_Angle(x,y,z,1);
            ay=MPU6050_Get_Angle(x,y,z,2);
            az=MPU6050_Get_Angle(x,y,z,0);
            
            wx=GetData(SlaveAddress_6050,GYRO_XOUT_H);
            wy=GetData(SlaveAddress_6050,GYRO_YOUT_H);
            wz=GetData(SlaveAddress_6050,GYRO_ZOUT_H);   
     
            /*uart0_printf("ax:",ax);uart0_printf("ay:",ay);uart0_printf("az:",az);
            uart0_printf("wx:",wx);uart0_printf("wy:",wy);uart0_printf("wz:",wz);
            uart0_putchar(0x0d);uart0_putchar(0x0a); */
            
           // wave[0]=ax*10;wave[1]=ay*10; wave[2]=az*10;
           // wave[0]=wx*10;wave[1]=wy*10; wave[2]=wz*10;
           //wave[0]=tx*10;wave[1]=ty*10; wave[2]=tz*10;
           
           GetDataS(0x3C,0x3);
           //wave[0]=data_gauss[0];wave[1]=data_gauss[1]; wave[2]=data_gauss[2];
           //wave[0]=BUF[0];wave[1]=BUF[2]; wave[2]=BUF[4];  
           OutPutData_DS(wave);   
           delay(400);
     }
}
float MPU6050_Get_Angle(float x,float y,float z,uchar dir)
{
float temp;
float res=0;
switch(dir)
{
case 0://与自然Z轴的角度
temp=z/sqrt((x*x+y*y));
res=atan(temp);
break;
case 1://与自然X轴的角度
temp=x/sqrt((y*y+z*z));
res=atan(temp);
break;
case 2://与自然Y轴的角度
temp=y/sqrt((x*x+z*z));
res=atan(temp);
break;
}
return res*180.0/3.1415926;//把弧度转换成角度
}
void GetDataS(uchar SlaveAddress,uchar REG_Address)
{
       uint8 i=0;   
               I2C_Start();                   //起始信号
        I2C_SendByte(0x3c);    //发送设备地址+写信号
        I2C_SendByte(0x3);     //发送存储单元地址,从0开始       
        I2C_Start();                   //起始信号
        I2C_SendByte(0x3d);  //发送设备地址+读信号
        for(i=0;i<6;i=i+1)
        {
            data_t=I2C_RecvByte();
            if(i<=4)I2C_SendACK(0);
            else I2C_SendACK(1);  
        }            
        I2C_Stop();                    //停止信号
        data_gauss[0]=data_t[0];//<<8|data_t[1];
        data_gauss[1]=data_t[2];//<<8|data_t[3];
        data_gauss[2]=data_t[4];//<<8|data_t[5];
}
回复 支持 反对

使用道具 举报

1

主题

373

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
14252

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
6571
贡献
4551
兑换币
4005
注册时间
2012-1-8
在线时间
1565 小时
41#
发表于 2013-9-7 20:23:33 | 只看该作者
表示瑞萨的单片机一直没读起
回复 支持 反对

使用道具 举报

13

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
653
威望
395
贡献
150
兑换币
166
注册时间
2013-1-9
在线时间
54 小时
毕业学校
西安工程大学
40#
 楼主| 发表于 2013-9-5 16:29:55 | 只看该作者
℡浅笑的悲戚♂ 发表于 2013-9-5 16:04
我的是252    …………  纠结啊  ……  现在还不好啊
没时间啦啊

P2口怎么读数据啊!cnt = P2;cnt为变量怎么读不出啦!指导下
回复 支持 反对

使用道具 举报

17

主题

154

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1173
威望
603
贡献
374
兑换币
356
注册时间
2013-5-13
在线时间
98 小时
39#
发表于 2013-9-5 16:04:35 | 只看该作者
我的是252    …………  纠结啊  ……  现在还不好啊
没时间啦啊
回复 支持 反对

使用道具 举报

1

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
149
贡献
81
兑换币
90
注册时间
2013-4-17
在线时间
45 小时
38#
发表于 2013-9-4 22:00:05 | 只看该作者
能给我发一份吗,iic模拟的就行,我现在是在做电子罗盘(hmc5883),确实急用,670038101@qq.com谢谢了
回复 支持 反对

使用道具 举报

7

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
760
威望
347
贡献
199
兑换币
225
注册时间
2012-11-2
在线时间
107 小时
37#
发表于 2013-9-3 22:58:55 | 只看该作者
拉普兰德的库有问题?我之前移植了,但是还没用过。
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

注册会员

Rank: 2

积分
169
威望
88
贡献
63
兑换币
38
注册时间
2013-8-22
在线时间
9 小时
36#
发表于 2013-9-3 18:33:09 | 只看该作者
求c8051f410的MPU6050程序
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

高级会员

Rank: 4

积分
993
威望
539
贡献
262
兑换币
287
注册时间
2012-9-16
在线时间
96 小时
35#
发表于 2013-9-3 10:51:31 | 只看该作者
yunchengfaren 发表于 2013-9-3 10:40
延时长短有问题,你改改看。

发我邮箱如何  我也是用的128.而且我是越改越乱啊。。。。1050673808@qq.com
回复 支持 反对

使用道具 举报

4

主题

59

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1447
威望
699
贡献
430
兑换币
465
注册时间
2013-4-5
在线时间
159 小时
34#
发表于 2013-9-3 10:41:53 | 只看该作者
Shadows 发表于 2013-9-3 08:24
我读出来的也是771 请问你问题解决没》?

延时长短可能有问题,你改改看。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 07:43 , Processed in 0.047468 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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