24c04读写程序方法
小弟我要用24C04这块芯片,他是I2C总线的
我想问I2C总线一下读取和写入数据时先要发S条件,然后是slave address+R/W(这块芯片是10100000(1)前面1010是固定的000是A3,A2,A1,最后是读或写)
然后是应答标志,然后就是数据了,但这是发数据时要不要发数据要存入的地址啊
,编址方式是怎么样的难道是00000000这样编吗还是可以随便往一个地址里写一个字节,再写第二个字节时还要输入连续的后面地址吗,还是自动会连续写入???
unsigned char read(unsigned int address){
unsigned char dd;
dd=((address&0x7ff)/256) < <1;
s24();wd24(0xa0|dd);scl=0;wd24(address);scl=0;
s24();wd24(0xa1|dd);scl=0;dd=rd24();p24();return(dd);
}
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();
while (1) {
s24();
wd24(0xa0|ddd);
sda=1;
if (sda==0) break;
scl=0;
}
}
以上是写入部分的程序
焦急等待中,谢谢指教!!
发表时间:2004年4月18日14:56:55