I2C總線注意要點(diǎn)
2、每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器。
3、在傳輸數(shù)據(jù)的時候,SDA線必須在時鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SCL
4、SCL
5、SCL
6、數(shù)據(jù)傳輸必須帶響應(yīng),相關(guān)的響應(yīng)時鐘脈沖由主機(jī)產(chǎn)生。在響應(yīng)的時鐘脈沖期間發(fā)送器釋放SDA
7、第一個字節(jié)的頭7
void
{
u8
while(i)
{
}
}
void
{
SDA_H;
I2C_delay();
SCL_H;
I2C_delay();
SDA_L;
I2C_delay();
SCL_L;
I2C_delay();
}
void
{
SDA_L;
I2C_delay();
SCL_H;
I2C_delay();
SDA_H;
I2C_delay();
}
//等待ACK應(yīng)答
void
{
u8
SDA_IN();
I2C_delay();
SCL_H;
I2C_delay();
while(SDA_read)
{
errtime--;
if(errtime==0)
{
}
}
SCL_L;
SDA_OUT();
I2C_delay();
}
//寫入單字節(jié)數(shù)據(jù)
void
{
if((Data<
{
SDA_H;
}
else
{
SDA_L;
}
I2C_delay();
SCL_H;
I2C_delay();
SCL_L;
SDA_L;
I2C_delay();
I2C_delay();
}
評論