野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9122|回复: 7

I2C Busy锁死的问题,有没有解决方案!例程中硬件i2c读写AT24C02不能成功

[复制链接]
发表于 2016-3-29 16:22:26 | 显示全部楼层 |阅读模式
I2C Busy锁死的问题,有没有解决方案!例程中硬件i2c读写AT24C02不能成功
回复

使用道具 举报

发表于 2016-3-29 17:38:53 | 显示全部楼层


stm32的硬件iic是有bug,没法解决。但不是这个情况,那个程序我这里测试没有问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-29 19:42:22 | 显示全部楼层
我在ISO-V2的板上,用光盘中的例程 硬件i2c,确实是有问题,在Busy中死循环,无法退出!我自己想办法吧,我前面的帖子都附上了光盘中的例程了!就是这个问题!I2C1一直busy.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-29 20:31:22 | 显示全部楼层
我上传了图片包括
1. 程序进入了死循环(检测EV6)的时候,逻辑分析看到SCL以及SDA都是低电平,确实I2C1处于忙状态
2. 程序在检测EV6的while里面出现死循环
3. 死循环是因为error status一直是error

I2C1 busy

I2C1 busy

死循环

死循环

一直是error的状态

一直是error的状态
回复 支持 反对

使用道具 举报

发表于 2016-3-30 08:48:40 | 显示全部楼层
Tresordie 发表于 2016-3-29 20:31
我上传了图片包括
1. 程序进入了死循环(检测EV6)的时候,逻辑分析看到SCL以及SDA都是低电平,确实I2C1处于 ...

现在解决了没有? 有没有排除是硬件的问题?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-30 10:37:06 | 显示全部楼层
硬件应该没有问题.

昨晚弄到3点多,现在又莫名其妙可以!不知道为什么?软件IO模拟i2c很稳定,但是硬件i2c不知道为什么有时i2c一直处于忙状态!用光盘中的例程也是一样有时可以,有时又不行,稳定性貌似没有软件模拟好!
回复 支持 反对

使用道具 举报

发表于 2016-3-30 16:24:26 | 显示全部楼层
Tresordie 发表于 2016-3-29 20:31
我上传了图片包括
1. 程序进入了死循环(检测EV6)的时候,逻辑分析看到SCL以及SDA都是低电平,确实I2C1处于 ...

我也遇到这个问题 也是检查不到应答
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-30 17:38:21 | 显示全部楼层
青春已然荒废 发表于 2016-3-30 16:24
我也遇到这个问题 也是检查不到应答

网上资料说有两种方法:
1. 强制复位RCC_i2c,然后release可以解决
2. 在进行GPIO配置前就使能i2c的时钟
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-17 20:21 , Processed in 0.053788 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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