|
解決辦法:
代碼如下
我的是模擬i2c ,其他讀寫函數(shù)都不用變,只需要改停止信號(hào)的的時(shí)序即可。
原來(lái)的停止信號(hào):
//產(chǎn)生IIC停止信號(hào)
//產(chǎn)生IIC停止信號(hào)
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é)束信號(hào)
delay_us(4);
}
修改后的停止信號(hào)時(shí)序
//產(chǎn)生IIC停止信號(hào)
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); // 添加延時(shí)
IIC_SDA=1;//發(fā)送I2C總線結(jié)束信號(hào)
}
|
|