uchar iicre_byte(void) { uchar i; uchar dat; scl=0; delay(); sda=1; delay(); //////////??????????? for(i=0;i<8;i++) { scl=1; delay(); dat=dat<<1; if(sda) { dat++; } scl=0; delay(); } return dat;
}
uchar read_byte()
{
uchar i,k;
for(i=0;i<8;i++)
{
scl=1;
k=(k<<1)|sda;
scl=0;
}
scl=0;
sda=1;
return k;
}
这两个程序都可以完成读取。第一个for前面加的scl,delay,sda,delay是什么意思?要不要不是都行吗,求指点。
|