SPI和I2C的对比

  

  • I2C是半双工,SPI是全双工

  • I2C支持多主多从模式,而SPI只能有一个主机。

  • 从GPIO占用上来看,I2C占用更少的GPIO,更节省资源。

  • I2C有应答响应机制,数据可靠性更高,SPI没有应答机制。

  • I2C速率不会太高,最高速率3.4Mbps,SPI可以达到很高的速率。

  • I2C通过器件地址来选择从机,从机数量的增加不会导致GPIO的增加,而SPI通过CS选择从机,每增加一个从机就要多占用一个GPIO。

  • SPI协议在SCLK边沿进行数据采样,I2C在SCL高电平期间进行数据采样。

  • 两者大多都应用于板内器件短距离通讯