IIC总线的时序,好像是:最高频率在400KHz。单片机指令的执行时间,速度快,所以要加延时。停止函数,是在SCL=1期间,SDA出现上升,那么SDA先要为0,这个0,要在SCL=0实现。
iic协议就是这么规定的,时序要求,需要4-5us的时间间隔,而12Mhz的单片机一个机器周期为1us,所以需延时!!!呃,你看程序时,必须结合标准IIC总线模拟时序图,写起始信号、停止信号也是根据总线模拟时序图来的。郭天翔的视频写得很清晰,推荐看!!!
通信速度问题,加入延时也可以使数据稳定