这段I2C程序谁懂啊?

[复制链接]
 楼主| chriecc 发表于 2008-6-25 18:32 | 显示全部楼层 |阅读模式
下面那个((address&0x7ff)/256)是什么意思?



void write(unsigned int address,unsigned char dd){
    unsigned char ddd;
    ddd=((address&0x7ff)/256)<<1;
    s24();wd24(0xa0|ddd);scl=0;wd24(address);scl=0;wd24(dd);scl=0;p24();
    time=0;                    //time为定时器时间参考,time增加1代表1ms,如果没有用定时器,取消该行
    while (1) {
        s24();
        wd24(0xa0|ddd);
        sda=1;
        if (sda==0) break;
        if (time>10) break;    //此行防止由于eeprom器件损坏后的死循环
        scl=0;
    }
}
NE5532 发表于 2008-6-25 22:02 | 显示全部楼层

算页面地址?

jjk009 发表于 2008-6-26 13:29 | 显示全部楼层

回楼上,不知道啊,但这段是I2C通用程序,但这里看不懂啊

kanprin 发表于 2008-6-26 14:43 | 显示全部楼层

不是通用程序

2楼已经告诉你答案了,这程序只适用于页大小为256的器件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

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

1

主题

1

帖子

0

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