1. 硬件IIC用法比较复杂,模拟IIC的流程更清楚一些。2. 硬件IIC速度比模拟快,并且可以用DMA 3. 模拟IIC可以在任何管脚上,而硬件只能在固定管脚上。4. 软件i2c个人理解,仅供参考硬件就是芯片已经内置了I2C,并且提供了标准库函数一般是DLL文件。模拟就是控制电脑的寄存器模拟I2C时序
模拟I2C一般是用GPIO管脚,用软件控制管脚状态以模拟I2C通信波形。硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用。二:区别1.硬件I硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,因而效率要远高于软件模拟的I2C;一般也较为稳定,但是程序较为繁琐。硬件(固件)I2
ˋ▽ˊ 这个概念的. 软件I2C一般是使用GPIO管脚,用软件控制SCL,SDA线输出高低电平,模拟i2c协议的时序. 主要对比:1.硬件IIC用法比较复杂,模拟IIC的流程更清楚一些. 2硬件(固件)I2C是直接调⽤内部寄存器进⾏配置;⽽软件I2C是没有寄存器这个概念的。软件I2C⼀般是使⽤GPIO管脚,⽤软件控制SCL,SDA线输出⾼低电平,模拟i2c协议的时序。主要
控制上:硬件I2C通过硬件中断实现各种操作。模拟I2C没有中断的概念,通过IO接⼝电平置⾼置低来实现写⼊和读取 性能上:硬件模式更⾼效更稳定 硬件I2C⽐软件I2C速度快1.硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活。2.模拟I2C 是通过GPIO,软件模拟寄存器的工作方式,而硬件(固件)I2C是直接调用内部寄
答:硬件II2C比你IO模拟的要快很多,占用的时间也少答:有硬件II2C的话,还是考虑硬件的。没有的话,用IO模拟也可以。答:I2C的话,个人感觉要看芯片了,有的芯片的I2C有BUG,比如STM32,这所谓硬件I2C,即STM32芯片设计了SDA/SCL两个管脚内部已符合触发I2C的时序、协议、仲裁和定时等功能块,