ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
I2C 总线只使用两个信号:SDA 和 SCL。SDA 是双向串行数据线,SCL 是双向串行时钟线。当这两条线路都处于高电平状态并且没有传输正在进行时,则认为总线处于空闲状态。
I2C 总线上每个事务的长度为 9 位,其中包括 8 个数据位和 1 个确认位。传输定义为一个有效的开始和停止条件之间的时间,如图 22-3中所述。每次传输的字节数不受限制;但是,每个数据字节后面必须紧跟一个确认位,并且数据必须以 MSB 优先的形式传输。当接收器无法完整接收另一个字节时,它可以将时钟线 SCL 保持为低电平,并强制发送器进入等待状态。这个过程通常称为时钟扩展。当接收器释放了时钟线SCL的时候,数据传输得以继续进行。
在时钟的高电平期间,SDA 线上的数据必须保持稳定,只有 SCL 为低电平时,数据线才能改变(请参阅图 22-4),否则会生成开始或停止条件。