可以不去理从机、主机自己模拟一个应答位就好了。
类似这种
即应答信号由主机自己模拟、不理会从机。只要芯片没有坏、不影响使用。
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();//主机挂断了电话
} |