I2C大家都比较常用,其实很多时候用的就是软件模拟I2C,因为大家都说STM32F103的硬件I2C不好用(只是听说,不造谣不传谣不信谣)。但是属实现在调试很多关于I2C的硬件,大多数用的都是软件模拟I2C。
其实分析一下,软件模拟的I2C是比较好移植,那个硬件基本上改一下管脚配置,就能直接使用。而且不用特定引脚,比较灵活。缺点就是时序有时候不准,或者调试时序的时候可能需要逻辑分析仪来帮助,而且速度跟IO的翻转速度有关系。
硬件I2C的优势就是速度比较快吧,而且时序不需要刻意去管。缺点就是固定引脚,电路设计的时候需要特意去考虑,而且有些时候如果对新的MCU不是很熟悉,配置I2C会比较吃力。
其实楼主在这里也就是个抛砖引玉吧,也是自己这段时间调试获得的心得,那么软件模拟和硬件I2C究竟还有什么可以对比的呢,欢迎大家来讨论。
|