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

[复制链接]
 楼主| 清风致影 发表于 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的方法还不错。
xiaox314 发表于 2012-10-19 15:23 | 显示全部楼层
你的i2c通信电路上有没有接上拉电阻!我估计是硬件上有问题吧,不是死掉了,是不能正常通信!
 楼主| 清风致影 发表于 2012-10-19 15:52 | 显示全部楼层
5# xiaox314
接了上拉电阻的 我都说只要接jlink在线调试,没有任何问题,离开jlink再运行就死掉。
chengzewei123 发表于 2012-11-28 21:34 | 显示全部楼层
我的I2C2 一直处在BUSY状态,程序进入while死循环出不来。
 楼主| 清风致影 发表于 2012-11-29 08:43 | 显示全部楼层
7# chengzewei123
你可以把i2c单独作为一个模块来测试,注意好管脚初始化,不该打开的就别使用。
IJK 发表于 2012-11-29 10:55 | 显示全部楼层
stm32f10x的I2C 确实容易出问题。
用了stm32f051的I2C后,觉得stm32f0好,不出问题。
lzf1738 发表于 2015-3-10 11:29 | 显示全部楼层
你好!STM32F051 I2C通信你用的是函数库吗?我发现我初始化I2C的时候  SDA SCL 总是低电平,太奇怪了。有上拉电阻在 我的模块上
lzf1738 发表于 2015-3-10 11:29 | 显示全部楼层
IJK 发表于 2012-11-29 10:55
stm32f10x的I2C 确实容易出问题。
用了stm32f051的I2C后,觉得stm32f0好,不出问题。 ...

你好!STM32F051 I2C通信你用的是函数库吗?我发现我初始化I2C的时候  SDA SCL 总是低电平,太奇怪了。有上拉电阻在 我的模块上
IJK 发表于 2015-3-16 10:21 | 显示全部楼层
lzf1738 发表于 2015-3-10 11:29
你好!STM32F051 I2C通信你用的是函数库吗?我发现我初始化I2C的时候  SDA SCL 总是低电平,太奇怪了。有 ...

建议先跑一下ST提供的I2C例子。
xiaowuge19 发表于 2015-4-1 14:06 | 显示全部楼层
十楼的朋友问题解决了吗?怎样解决的,求教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

165

主题

1168

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部