关于pcf8591和iic协议使用时的问题,希望各位大神能够帮忙解答一下疑惑

2019-07-15 15:27发布

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开始,而不是从零开始???

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。