//·¢Ëíack void I2c_sendAck(bit ack) { SDA = ack; SCL = 1; delay(1); SCL = 0; //»ñè¡ack bit I2c_getAck(void) { bit ack; SDA = 1; SCL = 1; 什么意思?! |
试了整天,Protues 里的I2C Debugger 都是收到A0 FF FF 看了其他文章才知道,等ACK时要先把SDA 置0 bit I2c_getAck(void) { bit ack; SDA = 0;//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< SCL = 1; delay(1); ack = SDA; SCL = 0; return ack; } |
应用代码中void I2c_start()和void I2c_stop(),程序变的可运行,好评 |
刚好用到,谢谢楼主分享。 |
挺好的啊![]() |
不错,支持楼主,支持51hei |
有汇编代码吗? |