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.3.8 单字节读子函数 - 图1

图 16.7 单字节写子函数流程图

16.3.8 单字节读子函数 - 图2

图 16.8 单字节写读函数流程图