1.线接对了没有;2.速率是否符合要求;3.给你发一下我的这个发送函数你对照着看看吧 bit I2C_Write(unsigned char dat) { bit ack; unsigned char pos; for (pos=0x80; pos; pos>>=1) { if (dat & pos) I2C_SDA = 1; else I2C_SDA = 0; I2C_Delay(0); I2C_SCL = 1; I2C_Delay(1); I2C_SCL = 0; I2C_Delay(0); } I2C_SDA = 1; //释放SDA I2C_Delay(0); I2C_SCL = 1; I2C_Delay(0); ack = I2C_SDA; // I2C_Delay(0); I2C_SCL = 0; I2C_Delay(1); return !ack; } |