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

STM32硬件IIC和软件模拟IIC哪个速度更快?

15345338508 2019-05-06 浏览量:4564
STM32硬件IIC和软件模拟IIC哪个速度更快?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 速度和你总线频率有关,和软硬件方式关系不大。 如果用阻塞方式收发数据,两者效率也没啥区别。如果用硬件中断收发数据,硬件IIC的效率高,不占CPU资源,但速度只和时钟频率有关。 硬件方式只能提高系统效率,而不能提高速度,并且只有中断或DMA方式才能提高效率。硬件阻塞方式和软件方式速度,效率一样。
    • 发布于 2019-05-06
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:10
  • 硬件IIC,因为它不需要CPU干预,软件模拟IIC,所有的时序都是需要CPU干预的
    • 发布于2019-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个毋庸置疑是硬件的快,且稳定,因为是有专门的电路实现,只需要调用,软件的模拟会占用很多资源(cpu、存储等等)
    • 发布于2019-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件IIC速度快。

    不仅速度快,而且不占用cpu资源。

    • 发布于2019-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 模拟IIC传送的数据很慢,远远比硬件IIC慢很多,能用硬件IIC就不要用GPIO口来软件模拟。在要求频繁写从IC的功能应用上,模拟IIC跟不上速度。
    • 发布于2019-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 最高速度肯定是硬件快,软件模式速度慢,而且耗mcu资源,一般情况下都是使用硬件接口通讯的
    • 发布于2019-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 传输速度其实都是一样的,由IIC时序速度决定的。

    硬件和软件IIC的区别是:

    硬件的IIC时序由IIC外设自己控制,不需要CPU去干预,CPU只需要把对应的数据写到寄存器即可。

    软件IIC,的时序需要CPU自己控制,占用CPU的资源


    硬件IIC移植起来比较麻烦,软件IIC移植起来就很简单。

    • 发布于2019-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 我觉得以I2C的时钟频率来说,最高400KHZ,那硬件和软件模拟的速度没什么差别。

    以硬件I2C和软件模拟来分别,应该只是说对CPU是否有占用,软件肯定要占用,需要CPU来模拟,这个可能会影响速度,因为必须有延时。

    • 发布于2019-05-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 速度都是一样的快,单片机性能很高,iic 协议最快也就 3.4Mbps,模拟的可以远远超出  3.4Mbps。

    所以速度无所谓快慢,都是遵从协议的,模拟的太快了器件不工作,无法通信也没用。

    硬件主要是稳定,软件占用 cpu 时间的


    • 发布于2019-05-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件IIC的稳定性更高,速度方面,是可以配置成一样的,最快也就是400K了,模块的也可以达到的
    • 发布于2019-05-08
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32硬件I2C极限速度可以达到1MHz,那个模拟的I2C,实测达到100K已经很不稳定了,经常会通信失败,所以,在通信稳定的前提下,肯定是硬件I2C允许更高的速度

    现在的I2C器件多数最大速率只能到400K的

    • 发布于2019-05-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32硬件IIC和软件模拟IIC哪个速度更快?