我爱飞行网-启翔智造

查看: 7203|回复: 22

新人成功mpu6050成功,源码发放,过程分享

[复制链接]
发表于 2015-5-11 13:37:12 | 显示全部楼层 |阅读模式
以前一直在学习51现在转到stm32感觉区别还是挺大的.

下面梳理一下自己遇到过的关于读6050数据的问题:
1. 卖家给的51程序成功读取到6050数据,stm32未成功,网上下载了很多程序也未成功读取(可能自己不会修改某些参数)。
2. stm32模拟IIC管脚问题。
3. 6050初始化问题。
4. IIC读取到数据不正确遇到过问题。1).数据全部为ff                2).数据全部为-1                3).数据有规律的成周期性的循环                4).读取6050  0x75地址  数值为 ff或0或不确定的值(反正不是0x68)

自己的处理过程:
1.先用51成功的读到了6050数据(证明6050是好的),看别人的程序的大体框架(细看有些地方也看不懂......)。
2.首先是配置问题————输出用推挽输出,输入用上拉输入(总线外部未接上拉电阻),端口时钟,IO口初始化,SDA端口不停地切换输入输出模式。
   其次是模拟IIC协议—————基础(后来由于读不到正确的数据,把以前的资料拿出来看了很多遍......)
3.6050初始化,有很多寄存器,也没有细细研究。但是我在一点里提到,虽然网上很多stm32读6050程序未能成功运行,但是他们的初始化程序大致相同。所以我就直接粘过来用了......(以后再细细研究)
4.IIC读数据不正确:
        过程很坎坷......今天礼拜日没课,所以昨晚干到3点多也未能读到正确数据........
        总结一下论坛里遇到过此问题后的处理方法吧:
                                                1).IIC模拟不正确                //包括电平持续时间,应答的发出,数据读取逻辑顺序               
                                                2).模拟正确后没有初始化        
                                                3).IIC初始化和6050初始化的时间间隔,需要延迟一段时间               
                                                4).软件复位6050。论坛里有人提到过是在PWR_MGMT_1(地址0x6b)寄存器中的bit7 DEVICE_RESET位 置1复位        。

        自己处理方法:
                1).保证自己的IIC是对的。先用24C02成功读写数据
                2).保证6050的器件地址0xd0无误后,用IIC读取6050的WHO_IM_I寄存器(地址0x75),默认值为0x68。成功读到0x68=104后就成功了一大半。
                3).(得寸进尺)读到0x68后,初始化6050再尝试去读取它x轴上的加速度 (MPU6050_RA_ACCEL_XOUT_H     0x3B)<<8|(MPU6050_RA_ACCEL_XOUT_L     0x3C)        
                                                                                                                                                                                                //高八位与低八位合成十六位数据(可省略此步)
                4).上面成功后就可以批量的去读取                加速度:X, Y, Z        陀螺仪:X ,Y ,Z        温度:temp                然后再用串口发送就好了
再贴一张自己调试的时候用到的24c02的图片

最后奉上自己读写成功的程序,还没整理比较乱......
IIC用的刘洋老师的        板子用的是原子的MINI STM32        芯片STM32F103                IIC_SDA.PB11                IIC_SCL.PB10                修改IIC端口时只需在IIC.h文件中修改相应的宏定义即可
6050寄存器中文手册论坛里有人上传大家可以去搜索一下。

0

主题

563

帖子

0

精华

五级飞行学员

Rank: 7Rank: 7Rank: 7

积分
1720
发表于 2015-5-18 11:31:12 | 显示全部楼层
楼主是超人

0

主题

563

帖子

0

精华

五级飞行学员

Rank: 7Rank: 7Rank: 7

积分
1720
发表于 2015-5-18 11:18:13 | 显示全部楼层
顶顶多好

0

主题

563

帖子

0

精华

五级飞行学员

Rank: 7Rank: 7Rank: 7

积分
1720
发表于 2015-5-18 11:16:57 | 显示全部楼层
说的非常好
发表于 2015-5-18 10:59:58 | 显示全部楼层
很好哦
哎...今天够累的,签到来了8...

35

主题

736

帖子

1

精华

六级飞行学员

Rank: 8Rank: 8

积分
2765
发表于 2015-5-18 10:58:26 | 显示全部楼层
不错不错
哎...今天够累的,签到来了2...

0

主题

568

帖子

0

精华

五级飞行学员

Rank: 7Rank: 7Rank: 7

积分
1704
发表于 2015-5-18 11:47:11 | 显示全部楼层
真心顶

5

主题

606

帖子

0

精华

五级飞行学员

Rank: 7Rank: 7Rank: 7

积分
1883

社区QQ达人

发表于 2015-5-18 12:20:44 | 显示全部楼层
说的非常好
哎...今天够累的,签到来了7...

0

主题

568

帖子

0

精华

五级飞行学员

Rank: 7Rank: 7Rank: 7

积分
1704
发表于 2015-5-18 11:49:19 | 显示全部楼层
顶礼
 楼主| 发表于 2015-5-18 12:22:07 | 显示全部楼层
很好很强大  学习了
哎...今天够累的,签到来了8...
您需要登录后才可以回帖 登录 | 加入飞行爱好者

本版积分规则

QQ|小黑屋|手机版下载|飞行爱好者论坛-启翔智造 ( 蜀ICP备18023617号-1 )

GMT+8, 2024-9-21 23:30 , Processed in 0.041277 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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