新人求问: PCF8591 读部分 部分代码的作用

2019-07-15 09:54发布

红 {MOD}代码的作用是什么? 我只想读里面的数据 为什么要先发一个写地址过去?
实践得到去掉后程序时无法正常进行的
代码如下:
void ADC_PCF8591(uchar controlbyte)
{
    uchar i=0;
iic_start();              
IICSendByte(PCF8591_WRITE); // 寻址地址
check_ACK();
if(F0 == 1)
{
  SystemError = 1; //表示从机发生错误
  return;
}

IICSendByte(controlbyte); //控制字
check_ACK();
if(F0 == 1)
{
  SystemError = 1;
  return;
}

         //还未开始AD转化 */
    iic_start();                //重新发送开始命令 在写模式,
        //数据传输通过发送下一个数据传输的停止条件或开始条件结束
    IICSendByte(PCF8591_READ); //控制字
check_ACK();
if(F0 == 1)
{
  SystemError = 1;
  return;
}
  
    IICreceiveByte();   //空读一次,调整读顺序
    slave_ACK();        //收到一个字节后发送一个应答位
while(i<4)
{  
   //receive_da=;
   receivebuf[i++]=IICreceiveByte();//receive_da;
   slave_ACK();       //收到一个字节后发送一个应答位
}
slave_NOACK();       //收到最后一个字节后发送一个非应答位
iic_stop();
}
0条回答

一周热门 更多>