熬夜调到现在,怎么I2C1的SR1和SR2一直为零?

[复制链接]
 楼主| masashinakayama 发表于 2009-2-19 15:48 | 显示全部楼层 |阅读模式
只做硬件的eeprom读,卡死在while
翻了前面的帖子,多是讲I2C不好用,但基本上卡死是出了I2C异常没做周全
模拟I2C就算了,硬件再难我也要把它调通
外设时钟全部打开了,难道还有什么地方开关没开?
那位高人也遇到SR1和SR2一直为0的情况?
俺洗耳恭听
 楼主| masashinakayama 发表于 2009-2-19 16:21 | 显示全部楼层

我还要抽丝剥茧下

刚才做了试验,while读SR2,
1。把SCL接触地,BUSY位有反应
2。把所有while用delay代替,有波形输出了
看来有曙光
lut1lut 发表于 2009-2-19 16:24 | 显示全部楼层

正常情况下,通信结束后SR1和SR2恢复0

用置顶帖子里的查询方式试过么,我这里跑,都是好的。你看看。
 楼主| masashinakayama 发表于 2009-2-19 16:33 | 显示全部楼层

多谢lut1lut

我现在查出SR1,SR2都是活的,只不过悄悄变而已
用了delay,连续的I2C时序出来了,不乱搞就不死
后面我仔细分析下SR1和SR2的变化
话说回来,还是ATMEL的TWI好用,不论AVR还是AT91xx,
英文资料查阅起来也是顺风顺水,
看ST的资料,即使中文有点崩溃,同看北航MSP430那本书感觉一样
lut1lut 发表于 2009-2-19 17:05 | 显示全部楼层

你用的while查询方式是用ST软件库里的那个读写e2prom的例子么

那里例子有点问题,在置顶帖子的查询方式实现,有个文档说明了一些,可以看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

317

主题

1957

帖子

4

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

317

主题

1957

帖子

4

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