16.3.8 单字节读子函数
单字节读子函数用于从I2C数据总线读入单个字节的数据。程序中,可以通过for循环语句,逐位将数据读入。该函数在使用之前,同样需要先使用起始信号子函数启动I2C总线数据传输。单字节读子函数的流程图如图16.8所示,其函数示例如下。
unsigned char Read8Bitic()//读一个字节数据子程序
{
unsigned char temp,rbyte;
rbyte=0;//初始化
for(temp=0;temp<8;temp++)//循环,逐位读入字节数据
{
SCL=1;
Delays(1);
rbyte=rbyte<<1;//左移一位
Delays(1);
rbyte=rbyte|((unsigned char)(SDA));//数据线上的数据存入rbyte的最低位
SCL=0;
Delays(1);
}
return(rbyte);
}
//返回读入的数据
图 16.7 单字节写子函数流程图
图 16.8 单字节写读函数流程图