打印

我也说下最近使用stm32f10x的I2C问题

[复制链接]
3539|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
清风致影|  楼主 | 2012-10-19 09:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近使用stm32f10x的I2C2,发现只要是jlink在线调试,I2C2都没有问题,但如果拔掉jlink后上电,就死掉了,无论复位或者重新上电都一样。
后面查找资料,发现有个可以解锁I2C2的方法,就是先在初始化I2C2之前,先转到IO口方式,用IO口方式发出SCK脉冲.每发一次,检测SDA是否变高.高了就说明解锁了.退出,再转回硬件I2C方式.用这个方法就解决了目前的I2C2死掉的问题。
但还是其他为什么jlink在线调试,I2C2都没有问题,但如果拔掉jlink,就死掉了?
沙发
清风致影|  楼主 | 2012-10-19 14:15 | 只看该作者
额 没人遇到这种情况么?

使用特权

评论回复
板凳
weikezhi| | 2012-10-19 14:28 | 只看该作者
这问题网上问的人很多,有时间了我也试一下,看到底是怎么回事。

使用特权

评论回复
地板
清风致影|  楼主 | 2012-10-19 14:33 | 只看该作者
是呢 我觉得那个先判断i2c总线是否解锁再初始化用硬件i2c的方法还不错。

使用特权

评论回复
5
xiaox314| | 2012-10-19 15:23 | 只看该作者
你的i2c通信电路上有没有接上拉电阻!我估计是硬件上有问题吧,不是死掉了,是不能正常通信!

使用特权

评论回复
6
清风致影|  楼主 | 2012-10-19 15:52 | 只看该作者
5# xiaox314
接了上拉电阻的 我都说只要接jlink在线调试,没有任何问题,离开jlink再运行就死掉。

使用特权

评论回复
7
chengzewei123| | 2012-11-28 21:34 | 只看该作者
我的I2C2 一直处在BUSY状态,程序进入while死循环出不来。

使用特权

评论回复
8
清风致影|  楼主 | 2012-11-29 08:43 | 只看该作者
7# chengzewei123
你可以把i2c单独作为一个模块来测试,注意好管脚初始化,不该打开的就别使用。

使用特权

评论回复
9
IJK| | 2012-11-29 10:55 | 只看该作者
stm32f10x的I2C 确实容易出问题。
用了stm32f051的I2C后,觉得stm32f0好,不出问题。

使用特权

评论回复
10
lzf1738| | 2015-3-10 11:29 | 只看该作者
你好!STM32F051 I2C通信你用的是函数库吗?我发现我初始化I2C的时候  SDA SCL 总是低电平,太奇怪了。有上拉电阻在 我的模块上

使用特权

评论回复
11
lzf1738| | 2015-3-10 11:29 | 只看该作者
IJK 发表于 2012-11-29 10:55
stm32f10x的I2C 确实容易出问题。
用了stm32f051的I2C后,觉得stm32f0好,不出问题。 ...

你好!STM32F051 I2C通信你用的是函数库吗?我发现我初始化I2C的时候  SDA SCL 总是低电平,太奇怪了。有上拉电阻在 我的模块上

使用特权

评论回复
12
IJK| | 2015-3-16 10:21 | 只看该作者
lzf1738 发表于 2015-3-10 11:29
你好!STM32F051 I2C通信你用的是函数库吗?我发现我初始化I2C的时候  SDA SCL 总是低电平,太奇怪了。有 ...

建议先跑一下ST提供的I2C例子。

使用特权

评论回复
13
xiaowuge19| | 2015-4-1 14:06 | 只看该作者
十楼的朋友问题解决了吗?怎样解决的,求教

使用特权

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

本版积分规则

个人签名:我在背后默默的看着你 默默的看着你渐去渐远渐无影

162

主题

1163

帖子

2

粉丝