|
解決辦法:
代碼如下
我的是模擬i2c ,其他讀寫函數(shù)都不用變,只需要改停止信號的的時序即可。
原來的停止信號:
//產(chǎn)生IIC停止信號
//產(chǎn)生IIC停止信號
void IIC_Stop(void)
{
SDA_OUT();//sda線輸出
IIC_SCL=0;
IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
delay_us(4);
IIC_SCL=1;
IIC_SDA=1;//發(fā)送I2C總線結(jié)束信號
delay_us(4);
}
修改后的停止信號時序
//產(chǎn)生IIC停止信號
void IIC_Stop(void)
{
SDA_OUT();//sda線輸出
IIC_SCL=0;
IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
delay_us(4);
IIC_SCL=1;
delay_us(4); // 添加延時
IIC_SDA=1;//發(fā)送I2C總線結(jié)束信號
}
|
|