目录
一.什么是“软件I2C”和“硬件I2C”?
I2C
通讯协议
是由
Phiilps
公司开发的,由于它引脚少,硬件实现简单, 可扩展性强,不需要 USART
、
CAN 等通讯协议的外部收发设备。
所谓硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的;软件I2C一般是用GPIO管脚,用软件控制管脚状态以模拟I2C通信波形。硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活。模拟I2C 是通过GPIO,软件模拟寄存器的工作方式,而硬件I2C是直接调用内部寄存器进行配置。如果要从具体硬件上来看,可以去看下芯片手册。因为固件I2C的端口是固定的,所以会有所区别。