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

STM32的软件模拟IIC和硬件IIC哪一个通信速度更快

司徒老鹰 2020-04-16 浏览量:3608
STM32的软件模拟IIC和硬件IIC哪一个通信速度更快
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 硬件IIC和软件IIC单纯就通信速度来说,软件IIC的速度更快,因为软件模拟可以通过IO翻转去模拟通信的时序,这样比硬件的IIC速度是更快的,但是综合来看,软件IIC的速度虽然快,但是需要占用软件的控制资源,需要不停的去用MCU就控制IO,这样非常浪费CPU资源,而硬件IIC就不会出现这样的问题,只需要定时去读取就可以了
    • 发布于 2020-04-20
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 硬件快一些,因为硬件i2c不耗mcu资源,特别是mcu任务比较多的情况
    • 发布于2020-04-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 没有谁快谁慢的说法,我硬件I2C设置通讯速度为100KHZ,模拟的I2C可以跑到400KHZ,你说谁快?


    硬件I2C相比软件I2C来说,MCU可以不用管I2C的时序和波形,不用去管I2C应答。

    发数据的时候,仅需要将数据写入到寄存器即可。

    接收数据的时候,硬件I2C设备将数据按照bit收好,存入对应的寄存器中

    这样就可以解放MCU,占用更少的资源。


    但是硬件I2C也有缺点,可移植性行太差,没有软件模拟I2C方便。


    • 发布于2020-04-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件I2C的速度明显更快,软件I2C涉及到一个延时,这个延时中不能被别的任务打断,否则延时时间不对,就通信失败了

相关问题

问题达人换一批

STM32的软件模拟IIC和硬件IIC哪一个通信速度更快