bit x1243w(unsigned char slabyte,char highaddr,char lowaddr,char rwdata)
{ /* 送四个字节,一个命令包含四个字节 */
bit xreturnbit;
x_sda=1;
x_scl=1;
x_sda=0; /* start */
xreturnbit=1;
if(writebyte(slabyte)==0)
if(writebyte(highaddr)==0)
if(writebyte(lowaddr)==0)
if(writebyte(rwdata)==0)
xreturnbit=0; /* 送数据成功 */
x_sda=0;
x_scl=1;
x_sda=1; /*stop*/
return(xreturnbit);
}
char x1243read(unsigned char slabyte,char highaddr,char lowaddr) /* 读出一个字
节 */
{
unsigned char readvalue;
char wi;
x_sda=1;
x_scl=1;
x_sda=0; /* start */
if(writebyte(slabyte)==0) /* 虚写... */
if(writebyte(highaddr)==0)
if(writebyte(lowaddr)==0)
{
x_scl=1;
x_sda=0;
slabyte=slabyte|0x01;
if(writebyte(slabyte)==0)
{
x_scl=0;
readvalue=0;
for(wi=0;wi<7;wi++) /* 读出8位数据 */
{
x_scl=1;
if(x_sda==1)
readvalue=readvalue|0x01;
readvalue=readvalue<<1;
x_scl=0;
}
x_scl=1;
if(x_sda==1)
readvalue=readvalue|0x01;
}
}
x_scl=0;
x_sda=0;
x_scl=1;
x_sda=1;/*stop*/
return readvalue;
}