一:时序图
二:
I2C时序要求 在SCL位高电平时数据保持稳定,在低电平时数据变化。为了确保数据能够被准确采样,SDA线上的数据需要在SCL上升沿到来之前保持稳定。而SCL的低电平则用于改变SDA线上的数据————实测还是要像一图预留手册要求的建立和保持时间。
三:在驱动e2prom和2991温度传感器的时候,一定要注意stop到start之间的间隔时间(需要按手册设计),如果间隔时间太短就会导致,后续从机不响应。
四:在e2prom写数据时,需要延时一段时间再写数据才有效响应。
五:在2991读数据时候,第16bit可能为1表示新数据或者为0表示旧数据
六:iic的上拉电阻阻值一般4.7k欧,阻值太小的话由于接口是开漏,导通mos会导致RDson会分电压不能完全拉低到地。阻值也不能太大会导致,寄生电容大电平沿缓慢功能异常。
七:当输完最后一个bit后给slave 从机采样(主机一定要把sda线控制到黄色下降沿出给从机响应,切记不要在红线那里就释放数据总线)