uchar read(uchar ch )
{
uchar temp=0;
iic_start();
iic_writebyte(0x90) /*确认
芯片*/
if(ack==0)return(0);
//iic_respons(); /*IIC的应答函数*/
iic_writebyte(0x00|ch); /*确认通道*/
iic_respons();
//读出数据,放进temp
iic_start();
iic_writebyte(0x91);
if(ack==0)return(0);
//iic_respons(); /*如果采用iic_respons(),而不要if(ack==0)return(0),则显示是从0001开始,而不是0000*/
temp=readbyte();
NoAck_I2c();
iic_stop();
return temp;
}
为什么在调用完iic_writebyte函数以后,不写if(ack==0)return(0),而改用iic_respons()函数,ad转换值显示是从1开始,而不是从零开始???
一周热门 更多>