AT24C02
/****************AT24C02***************************/
void IIC_AT_Write(uint8_t *buf,uint8_t addr,uint8_t num)
{
I2CStart();
I2CSendByte(0xa0);
I2CWaitAck();
I2CSendByte(addr);
I2CWaitAck();
while(num--)
{
I2CSendByte(*buf++);
I2CWaitAck();
}
I2CStop();
}
void IIC_AT_Read(uint8_t *buf,uint8_t addr,uint8_t num)
{
I2CStart();
I2CSendByte(0xa0);
I2CWaitAck();
I2CSendByte(addr);
I2CWaitAck();
I2CStart();
I2CSendByte(0xa1);
I2CWaitAck();
while(num--)
{
*buf++ = I2CReceiveByte();
if (num)
I2CSendAck();
else
I2CSendNotAck();
}
I2CStop();
}
MSP4017
/****************msp4017***************************/
void IIC_Mspres_Write(uint8_t ucres)
{
I2CStart();
I2CSendByte(0x5e);
I2CWaitAck();
I2CSendByte(ucres);
I2CWaitAck();
I2CStop();
}
uint8_t IIC_Mspres_Read(void)
{
uint8_t return_res;
I2CStart();
I2CSendByte(0x5f);
I2CWaitAck();
return_res = I2CReceiveByte();
I2CSendNotAck();
I2CStop();
return return_res;
}