• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于模拟I2C

mindhe 2018-07-16 浏览量:765
现在很多单片机都自带I2C协议,为什么很多热门单片机开发板上给初学者的教程中都是模拟I2C,是因为方便学习?还是实际项目中需要这样用的?还是有什么优势?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 很多原因会造成模拟IIC的试用,比如某些情况下STM32的IIC不稳定,再有某些是偶IIC硬件协议不一定适应多有从设备的时序,而软件IIC根据从设备的时序进行编写,而且时序的每一个过程都是可以自行控制的,硬件IIC做不到。再有软件IIC的可移植性非常好,在所有处理器平台稍加改动就能使用,而硬件IIC只能遵照硬件的定时实现,通用性不强。当然如果硬件IIC能够实现,还是尽量用硬件IIC,毕竟软件模拟IIC是需要占用CPU的。
    • 发布于 2018-07-16
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:9
  • 其实在自己软件实现I2C的过程中对I2C协议单片机GPIO操作都有了一定的练习.
    • 发布于2018-07-16
    • 举报
    • 评论 0
    • 1
    • 0

  • I2C接口比较简单,2线就行了,但是速度没有SPI快,spi需要3-4根线,数据输入输出可以共用,
    • 发布于2018-07-17
    • 举报
    • 评论 0
    • 1
    • 0

  • I2C只需要两根2线就可以,有些时候开发接口比较少时会使用I2C。
    • 发布于2018-07-17
    • 举报
    • 评论 0
    • 1
    • 0

  • I2C占用引脚少,这就是优势。
    • 发布于2018-07-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 主要是IIC只需要两根线就可以正常通信,占用的资源非常少
    • 发布于2018-07-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 软件实现比较简单,并不是每个芯片都有硬件IIC
    • 发布于2018-07-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 那个只是在STM32上面用的比较多,以前STM32的I2C库有BUG而已
    • 发布于2018-07-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 方便学习是一方面,更多的原因是在STM32F103的标准库中,硬件I2C是存在通信卡死的BUG的,后面人们为了省事就直接用模拟I2C。

    • 发布于2018-07-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 主要是模拟好移植

    无论什么开发板,都可以直接移植

    • 发布于2018-07-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于模拟I2C