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

IIC问题

c59c54c5ad69c17b 2018-06-23 浏览量:783
硬件iic对比模拟iic是好用点么?为什么很多库函数里面都自带硬件的,而没有模拟的?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 本来模拟IIC就是一种为了移植性而自己制作的、可以说是技术倒退的东西,相比于硬件没那么合理、容易出错、容易乱时序、容易被打断,撇开st的垃圾iic不说,像nxp这种IIC的发明者(其前身飞利浦发明IIC通讯协议)的厂家其硬件IIC可是很好的!开发者完全不需要担心时序,很多判断位的逻辑也不需要担心,可以实现DMA,不占用CPU资源,不担心被别的中断打扰时序。可以说能用硬件绝不用软件!
    • 发布于 2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:18
  • 硬件IIC不占用cpu资源,cpu可以在执行iic读写时做其他事情,但是模拟iic需要cpu进行调控,浪费了cpu
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 所谓库函数,就是基于芯片内自带的外设来做的。所以芯片自带IIC的库函数都会带IIC的库。

    模拟IIC是根据IIC的通讯协议模拟的,请看清楚模拟二字,只要是普通IO都可以去模拟

    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 相对来说 硬件iic不占用cpu资源 但是移植性差 软件就正好相反 所以要看需要了 如果不考虑移植性 还是用硬件iic吧
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 主要是看哪一种方式更好用一些,比如STM32的IIC比较难用,所以模拟用的比较多。而NXP的硬件IIC比较好用一些,所以优先选择硬件IIC。当然如果单片机支持硬件IIC且比较易用的话,一定优先选择硬件IIC,因为这样大大减轻cpu的负担。
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 厂商做出硬件I2C就是为了提高性能,简化开发,所以肯定是硬件I2C好用
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 模拟IIC是用两个常规IO来模拟II两条线的时序,硬件IIC是指用的芯片内部的IIC子系统,从易用性上面来说,硬件IIC明显更好
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 易用程度肯定是模拟IIC更好用,并且模拟的各种芯片用法一样。从速度和占用CPU资源方面来讲,硬件IIC优势明显,当然了只有在采用中断或DMA的方式才能发挥优势,否则和模拟的速度没两样。
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 基本上,只要硬件i2c没有硬伤,就要优先考虑用硬件的,这从效率 稳定性上来说都是合理的。

    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 还是硬件I2C好,要不然厂商也不会做出硬件I2C;模拟I2C流行在于对硬件没要求,很容易通过编程实现。
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 模拟的好用点,移植方便,51的程序,在32上改改延时就能用,但是占用资源


    硬件的不太好移植,但是不占用资源

    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件不需要占用系统资源,模拟的需要自己写时序
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件IIC的处理实时性更好,支持中断,支持DMA,而模拟的会被中断打断,有可能通讯不上
    • 发布于2018-06-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 模拟就是使用GPIO来驱动IIC的,库里有硬件的了,为什么 要用模拟的呢,可能使用硬件 的最好了是使用硬件 的。

    STM32只是硬件 的会有问题,才会用模拟的

    • 发布于2018-06-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件I2C不占用程序当然好用点.

    但是硬件I2C的灵活性不强.

    • 发布于2018-06-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个一般都是使用硬件的,硬件是IIC模块,不需要软件去做模拟,可以直接调用模块发送数据
    • 发布于2018-06-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 现在stm32  i2c库函数不会有卡死现象了,因为都加了超时检测,所以建议能用硬件的就用硬件,软件不够可以用软件模拟
    • 发布于2018-07-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个具体看不同的MCU厂商,像STM32这种肯定是用模拟I2C的多,因为它的硬件I2C不好用,而NXP就不同了,NXP公司有自己的I2C专利,在库函数上也集成了硬件I2C的函数。

    • 发布于2018-06-24
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

IIC问题