打印
[ZLG-ARM]

请教各位高人:铁电与E2ROM能否混合用?

[复制链接]
2066|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lw2008|  楼主 | 2007-11-27 20:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
铁电与E2ROM能否共一个I2C总线?16位地址与8位地址器件能否共一个I2C总线?
E2ROM只要比FM多点延时应问题不大。
我同事说16位地址与8位地址器件共用相互有冲突。
但我认为只要各器件从地址设的不同即可用,子地址分别按地址属性设,理论上应能正常工作。

实测如下:
FM24C256+FM24C64在UCOS下正常工作,读写全部正常。
FM24C2564+CAT24WC08在UCOS下只在I2C初始化后读写正常,进入多任务运行读出来全是0。
注:读写时已关中断。

相关帖子

沙发
hotpower| | 2007-11-28 04:00 | 只看该作者

只要地址不同,只是延时的差异~~~

使用特权

评论回复
板凳
zlgarm| | 2007-11-28 10:54 | 只看该作者

回复

你好:
可以混合使用。在UCOS多任务下,你可以试一下使用互斥信号量,也就是说在相互互斥的情况分别读写铁电和E2PROM,看有没有问题。

使用特权

评论回复
地板
极限思考| | 2007-11-30 18:42 | 只看该作者

会有冲突!

FM24铁电没有地址选择引脚,从地址和其他24系列高4位一致。不能做到地址不同,某些地址会产生重叠。

使用特权

评论回复
5
lw2008|  楼主 | 2007-11-30 19:36 | 只看该作者

FM24的A0-A2是从址脚。


关键是片内地址,以前认为1位地址与2位会发生冲突。

使用特权

评论回复
6
汽车电子| | 2007-12-2 12:39 | 只看该作者

嗯,我一直都是混用的,FM24CL04和AT24C512

   器件地址没冲突就可以,至于存储地址,那容易解决

//////////////////////////////////////////////////////////////////
    if(DAddr == EE_DA_GPS_GSM_CFG)         // 写铁电存储器
    {
        PageBuffer[0] = WAddr;                
        if(WAddr>=256)
            DAddr |= 0x02;
        memmove(&PageBuffer[1],pData,WLen);
        IIC_Write(DAddr,0,(WLen+1),PageBuffer);
                
    }
    else                                            // 写EEPROM

使用特权

评论回复
7
ayb_ice| | 2007-12-3 16:42 | 只看该作者

只要从机地(全部7位)址不冲突,肯定可以用

使用特权

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

本版积分规则

49

主题

296

帖子

0

粉丝