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

硬件IIC和软件IIC驱动EEPROM哪个好一些?

15345338508 2019-04-25 浏览量:882
硬件IIC和软件IIC驱动EEPROM哪个好一些?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 尽可能使用硬件IIC,软件模拟IIC需要CPU反转GPIO,而且反转过程中需要根据IIC协议的时序进行延时,这样会大大增加CPU的负担,而硬件IIC这些工作都是IIC控制器做的,几乎不需要CPU参与,可以节省CPU资源。但是软件模拟IIC也不是完全没有好处,其优点就是只要时序正确,可以在任何系统中使用,可移植性非常好,硬件IIC则需要不同系统设置不同的寄存器实现,通用型稍差。

其他答案 数量:8
  • 推荐用硬件,硬件省mcu资源,如果硬件玩不起来就用软件模拟,软件模拟适合新手玩i2c,可移植性高

  • 对于单片机这些跑小系统的芯片来说模拟IIC消耗有点大,没有硬件IIC快,延时和误差也高,但是对于高等级芯片,速度算力和内存都比较高,模拟IIC显得更方便,比操作寄存器更简单!

  • 当然硬件好,硬件设置好,工作起来稳定可靠。

    软件 iic 主要是靠 cpu 拉高拉低 gpio 模拟的,占用 cpu 时间,同时外部中断也会影响

  • 一般来说,板上的硬件iic接口会好一些(占用资源少,编程代码简单),但管脚是复用的,有些板子设计的时候,硬件的iic管脚被占用了(还真有这种),只能使用软件的iic,接口使用上比较灵活(不需要重新画板子,只需要改代码就行)。

  • 从一般应用角度来说,当然是硬件的好,效率高且稳定,核心负载也低。

    但不排除个别芯片硬件有问题时只能软件模拟。这个要看具体的芯片啦。

    总之一个原则,硬件能满足要求一定要用硬件的。


  • 有硬件IIC还是用硬件的比较好,节省资源,不过EEPROM读写不频繁,而且数据量小,软件的也能接受


  • 当然是硬件 的IIC了,时序准确,还有比较好的错误机制,可以防止通讯错误,模拟的常常是会被打断的造成通讯错误的

  • 如果有硬件I2C,肯定是硬件I2C好,因为硬件I2C靠的是硬件的控制器,不会因为受到中断等影响时序。EEPROM一次一般读出很多个数据的,这个过程如果被打断,那读取的可能就是乱码了,所以应尽可能用硬件的I2C

相关问题

问题达人换一批

硬件IIC和软件IIC驱动EEPROM哪个好一些?