不清楚具体协议是怎么写的,不过肯定要根据从机的器件手册描述每个时序的要求来控制时间。就像下面这个是ds3231的器件,从上升沿允许的跳变时间、开始信号与时钟跳变之间的最短/最长时间等等都有给出参数。但实际上,主流的例程都是一些比较低频的通讯,一般都会满足这些参数。如果是自己编写协议就要仔细阅读数据手册。
1.时序内延时:模拟I2C需要延时来模拟时序,硬件2C不需要延时。
2.每次I2C通讯间的延时:需要针对通讯对象的说明手册来具体对待了。一般技术手册都会有详细说明。
一般IIC器件,都有个最大通讯速度,超过这个速度就容易通讯失败了
具体器件查看它的手册确定IIC通讯速度,然后加上合适的延时