可以不去理從機、主機自己模擬一個應答位就好了。
類似這種
即應答信號由主機自己模擬、不理會從機。只要芯片沒有壞、不影響使用。
void iic_slave_NOACK()//默認非應答信號
{
SDA=1;
_nop_();
SCL=1;
_nop_();
SCL=0;
_nop_();
}
void MSA300_WriteBytes(unsigned char RegAddr,unsigned char Data)
{
I2C_Start();//主機準備好了
I2C_Write(G_SlaveAddr_W);//主機要給從機發數據,知會從機一下
iic_Ack();//主機當從機默認知道了
I2C_Write(RegAddr);//主機告訴從機要操縱的地址
iic_Ack();//主機當從機默認知道了
I2C_Write(Data);//主機告訴從機要修改的地址中內容
iic_Ack();//主機當從機默認知道了
I2C_Stop();//主機掛斷了電話
} |