fire4047 发表于 2007-12-16 22:31:13

!!请问 关于24c02和24c02n 的区别?

我手里有一个atmel 410 24c02n

请问这种型号 和普通的 24c02 有什么区别吗??

另外,我把写进的数据 读出后, 都是255。这能是什么问题那??

硬件脚 应该没有问题, scl sda 加了 4.7k 上拉电阻。wp a0 a1 a2 没接。5v电源。

写进去看不出错误,程序执行也顺利。但是读出后 就是不正常,请问 问题可能出现在哪里那??

fire4047 发表于 2007-12-17 10:29:36

弄了 两天了,就是不行啊。问题可能在哪里那?

各位使用过的24c02,都是什么型号?出现过这种问题吗?

diannaoza 发表于 2007-12-17 10:49:10

写进的数据后,再读必须等600US以上,600us以下就会出错。

fire4047 发表于 2007-12-17 12:09:21

我是连续写8个数据,每个之间 停 一秒 。然后 写完八个,发送完 结束信号后,在停1秒。这样时间问题应该能排除了吧。

我又 试验了以下;
发现数据接受 寄存器 在任何时候读 都是 255;既都是0xff;

但是在 检测 接受寄存器满标志的时候,却能检测到。

while(如果是没受到) 就循环。

能说明 它收到了数据???

可是数据接收寄存器的 复位初始值 应该是0 ;我在什么也没有 动的前提下,读 该寄存器。发现也是0xff。

这有是怎么回事哪?? 真是搞不懂了

fire4047 发表于 2007-12-17 19:28:33

多谢 各位;我试验了 很长时间。
突然间 不知道 那一次,写成功了,以后 读 数 一直正常。

可是现在 怎么写也写不进去了。表现就是 没有写进去,读出来的还是原来 不知道那一次存进去的 数字。
看样子 前一段时间,就是 写 除了问题。现在读 非常的正常。

可是写 就是不行啊。当初写进去的 程序状态 我已经不记得了。

我是欲哭无泪啊。

这样看来,硬件应该是 没有问题吧,所差的问题就是 软件写 的部分,我哪里没有考虑到那???
我现在是 一次写八个,然后 发一个 结束信号。延时都加的足够长了。
在读取数字。

到底怎么回事啊!!!!!!!!!!!!!

mikezfq 发表于 2007-12-17 22:01:20

wp a0 a1 a2接地呀!wp是写保护,在写之前一定要为0,A0,A1,A2,为地址码,IIC上一个EEPROM的话最好全为0

fire4047 发表于 2007-12-18 10:47:51

现在已经全部接地了。发现怎么读 都没有问题。

但是就是 写不进去了。不知道何时写进去的一个值,反复的读,改动内容以后,一直出现原来的。

就是写不进去了阿。

wangxiaoacc 发表于 2007-12-18 11:27:27

读出255,是全1,如果确认读没错,那应该没写进去,芯片什么都不写里面是全1的。scl要加上拉?我用24系列的没加只是sda加了1k上拉。你读写地址正确?没用过2402N这样的芯片

fire4047 发表于 2007-12-18 11:56:08

我肯定读的应该正确,都是付给 0x00;

另外老兄说的 scl 不需要上拉电阻吗??

另外 我加的是4.7k 的电阻,会是这个问题吗??

请问你的scl 不加上拉 没有问题吗??

这种开漏引脚不是都需要加上拉的吗??请指正,谢谢了

fire4047 发表于 2007-12-18 12:09:28

多谢老兄,我的mcu芯片说明上写着,我所连接的两个脚 本事就是 开漏输出。原话是“如果这两个引脚被设置为通用输出引脚,则需要外接 上拉电阻。”
这句的意思是不是 说明:如果我用 24c02就不用再另外加 上拉电阻了??

mikezfq 发表于 2007-12-18 21:41:04

4.7K太大了,搞个5.1k吧,还有EEPROM读写比较慢(相对于AVR),注意时序,还有你说的是否上拉,实验一下嘛

fire4047 发表于 2007-12-19 13:15:16

楼上老兄说的是 加个5.1k的??

上拉我试验了,不加是不行的。

fire4047 发表于 2007-12-19 14:37:35

不是avr的芯片

我经过昨天一夜的折腾;终于发现点问题。

在我改动线路以后 又出现了 一次 写入成功。 随后又不能了。

我又改动一下 线路 又出现了一次成功。 随后又不行了。
。。。。。。。。。。。。。

就这样反复了多次,程序基本没有动,就是动线路,而且基本不确定 是动那个,每次好用就一次 再换一个数字程序 就不行了,就是不能重复。。。。。。

这是怎么回事???是不是基本可以判断是 硬件的 故障了???

fire4047 发表于 2007-12-19 14:55:47

具体的改动过的:电源线,a0--2 地线,wp ,外接的 4.7k 电阻。都改动过,

但是 只好用一次,第二次都不行。

现在有几个问题想请帮忙:
1。电源5v 加滤波电容有用没有?如果需要,加多大的合适?
2。a0--2,wp 是否应该分配一些固定的引脚 以便能加 确定的 高低电平??

24c02的引脚 除了 那两个scl sda 外加电阻外,别的是不是就都不需要外加什么东西了????

恳请指正!!!

diannaoza 发表于 2007-12-19 15:44:58

"就这样反复了多次,程序基本没有动,就是动线路,而且基本不确定 是动那个,每次好用就一次 再换一个数字程序 就不行了,就是不能重复。。。。。。

这是怎么回事???是不是基本可以判断是 硬件的 故障了???"
实践精神可嘉。但排错方法不对?工具不全(要有逻辑分析仪),要是有数字示波器?

fire4047 发表于 2007-12-19 16:13:56

这个东西也许是执行时间太短的缘故,我用示波器 根本看不到 什么东西?

那位老兄能给我 一个这个东西的 经典的 接线图吗???

是不是我的线有问题??

请给我一个典型的 接线图好吗??谢谢。

fire4047 发表于 2007-12-19 16:16:37

每次都是我快绝望的时候 他就好使一次,简直让我快崩溃了。

每次好使时都是不一样的状态,动什么东西也不是很明确,真是 纳闷,这种情况是不是 硬件方面的 问题可能性大一点??


另外 我没有5.1k 的电阻。用6.8k的能行吗?

mikezfq 发表于 2007-12-19 22:27:22

10K吧,注意时序,慢一点!

fire4047 发表于 2007-12-20 10:16:02

请问楼上,我发出start信号开始以后,02 应该发回一个ack信号。

这个所谓的时序要求,应该就是检测ack 和 给出 02内部写的时间吧??02应该在没有什么别的状态位了吧??重复写应该没有问题吧。

这两样我都做了阿。另外 我找到的一个手册上说“应答查询”;是用来监测02写的,可是我用了也不好使。

还有什么没有考虑到吗??

我就是读没有问题,而写出问题!!!!!!!!!!!

mikezfq 发表于 2007-12-20 21:22:24

把你的程序贴出来!

fire4047 发表于 2007-12-21 10:38:04

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=871341&bbs_id=1006

CHENBINGSTER 发表于 2007-12-21 11:17:24

贴出来可能看得清楚一点。

wu_qi0613 发表于 2013-4-20 13:47:54

我的也是这个问题
以前的板子没问题,现在这个板子就有问题
现在这个板子用的是24C02N,不知道是不是芯片的事儿啊,另外,我用的上拉是5.1K的,以前也是这个值的,但是这个就是写不进去,读出来的一直是E0,不知道为什么,哥们你解决没?

LeslieFa 发表于 2013-4-20 14:18:34

换24C04试试,,我之前用网上diy的读写器,,也是很难读写02的,,不过我不是搞开发,,我只是修家电的...据说有些厂家的那个写保护脚要接高电平...

zago 发表于 2013-4-20 14:38:15

延时长一点还是不行吗
页: [1]
查看完整版本: !!请问 关于24c02和24c02n 的区别?