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开始,而不是从零开始???
万水千山总是情,打个酱油行不行.我给你的不是海誓山盟,
而是一颗不变的心!楼主可以参考一下。。
http://www.taiheth.com
http://www.dgkjly.com
http://www.jinluodz.com
http://www.konuaer.com
http://www.kangbidz.com
一周热门 更多>