智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3580|回复: 6
打印 上一主题 下一主题

关于stm32硬件IIC调试MPU6050的问题

[复制链接]

2

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
91
威望
53
贡献
28
兑换币
29
注册时间
2015-5-31
在线时间
5 小时
毕业学校
hangtian
跳转到指定楼层
#
发表于 2015-8-18 14:38:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
      如标题,各位大大,有没有人用过硬件IIC调试mpu6050的,我这里说说我遇到的问题,拿软件模拟的iic调试这个mpu6050没有问题,当然软件的不是我写的,好像软件模拟iic io口用的推挽输出?我记得我好像改成开漏了好像也行,不知道是不是这样,有经验的说说?
     说说我的问题,我是想用硬件来做这个事,硬件的程序使用在EEPROM上一点问题没有,反复的写然后读,然后写,都验证了没有任何问题,反复的写也没有问题,反复的读也没有问题,但是接到MPU6050上,去读的话,有时候能读出来,然后复位再就读不出来了,后来发现了其原因,是对mpu进行一次读操作之后,mpu给SDA线拉低,而且不会释放,因为我拿示波器看,如果把连接mpu6050的SDA线拔了,这时候SDA总线就是高了,(我IIC总线连着eeprom还有mpu6050)如果我用镊子把mpu6050上的SDA短接一下VCC就好使了,也就是就让MPU拉低的SDA释放为高了,这个时候我就又能进行一次读操作,如果MPU6050给SDA拉着低不放的话,包括我读eeprom也是进行不了,我想是不是SDA拉为低,导致产生不了起始信号?这是mpu6050的通病还是有什么地方要设置?而我用软件模拟的方式就读写mpu6050就正常,软件模拟,不是我写的,我不清楚是io推挽的还是开漏的,一般软件模拟的用的是推挽还是开漏?
回复

使用道具 举报

2

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
91
威望
53
贡献
28
兑换币
29
注册时间
2015-5-31
在线时间
5 小时
毕业学校
hangtian
6#
 楼主| 发表于 2015-12-21 11:53:41 | 只看该作者
la9998372 发表于 2015-9-21 23:23
楼主,分享一下你的程序呗?后来是什么问题能方便告诉一下嘛?

好久了,我也忘了,反正证实了是硬件iic写的有问题,但是很奇怪的是,这个有问题的iic程序操作eeprom居然可以,mpu6050要求的更多吧,反正注意写个正确的硬件iic程序就好了
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
91
威望
53
贡献
28
兑换币
29
注册时间
2015-5-31
在线时间
5 小时
毕业学校
hangtian
5#
 楼主| 发表于 2015-8-25 10:04:46 | 只看该作者
有点不够帅 发表于 2015-8-20 23:47
还是用软件模拟一下吧

已结解决了,还是程序里面的小失误,顺便问一下,你们用软件模拟iic,这个通讯速度怎么控制的呢?通过不断的修改延时的时长来控制通讯速度?还是?软件模拟的能做到400khz吗?还是说那是要很用心的调那些延时参数最后计算一下是不是400khz这样?
回复 支持 反对

使用道具 举报

39

主题

467

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6646

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

威望
3491
贡献
1933
兑换币
1810
注册时间
2014-11-16
在线时间
611 小时
4#
发表于 2015-8-20 23:47:28 | 只看该作者
还是用软件模拟一下吧
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
26
威望
16
贡献
8
兑换币
8
注册时间
2015-8-2
在线时间
1 小时
毕业学校
湖北工业大学
3#
发表于 2015-8-18 16:33:44 | 只看该作者
一样,并不知道怎么解决
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
91
威望
53
贡献
28
兑换币
29
注册时间
2015-5-31
在线时间
5 小时
毕业学校
hangtian
2#
 楼主| 发表于 2015-8-18 14:55:46 | 只看该作者
刚刚看了,软件模拟的那个iic,引脚配置的也是开漏输出,GPIOE->CRH  配置的是55,也就是PE8,9都是开漏输出,本来怀疑是软件模拟iic是推挽输出,在操作mpu的时候,给mpu的sda强拉起来的,现在看来不是这么回事,有没有遇到我这种情况的啊?求大神
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 17:27 , Processed in 0.067550 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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