pcf8591读写数据的代码的差别是什么?
写:
void write_ad(void)
{
int i;
IIC_Start();
IIC_SendByte(0x90);
IIC_WaitAck();
IIC_SendByte(0x03);
IIC_WaitAck();
IIC_Stop();
for (i=0;i<1000;i++);
}
读:
unsigned char read_ad(void)
{
unsigned char temp;
IIC_Start();
IIC_SendByte(0x91);
IIC_WaitAck();
temp = IIC_RecByte();
IIC_Ack(0);
IIC_Stop();
return temp;
}
写了一下注释,供参考:
写:
void write_ad(void)
{
int i;
IIC_Start(); //开启IIC
IIC_SendByte(0x90); //选择写入地址
IIC_WaitAck(); //等待返回的Ack信号
IIC_SendByte(0x03); //发送的数据
IIC_WaitAck(); //等待ACK信号,对方在成功接受数据后,会返回应答信号Ack
IIC_Stop(); //关闭IIC
for (i = 0; i < 1000; i++); //延时
}
读:
unsigned char read_ad(void)
{
unsigned char temp;
IIC_Start(); //开启IIC
IIC_SendByte(0x91); //选择读入地址
IIC_WaitAck(); //等待返回的Ack信号
temp = IIC_RecByte(); //接受发送过来的数据
IIC_Ack(0); //发送ACK信号,表示成功接收
IIC_Stop(); //关闭IIC
return temp; //返回接收到的数据
}