【普通IO口模拟实现I2C通信】相比于【使用硬件I2C模块】有什么缺陷?
展开全部
这种说法是谁提出的?
IO口模拟I²C通讯与市面上常见单片机的硬件I²C模块相比,实在没什么缺陷……
浪费I/O?这两个I/O无论如何都躲不掉啊。
代码困难?浪费程序空间?I²C总线这么简易且开放,逻辑相对并不复杂,常用功能函数也很容易找到,特殊功能函数自己写写就是。通过合理的堆叠代码占用不了几十个字节。
市面上常见单片机的硬件I²C模块实在乏善可陈,实现的功能都不完善,连基本的锁死总线都无法直接实现,连大页面、长帧的总线访问都无法直接实现……用起来束手束脚。
IO口模拟I²C通讯与市面上常见单片机的硬件I²C模块相比,实在没什么缺陷……
浪费I/O?这两个I/O无论如何都躲不掉啊。
代码困难?浪费程序空间?I²C总线这么简易且开放,逻辑相对并不复杂,常用功能函数也很容易找到,特殊功能函数自己写写就是。通过合理的堆叠代码占用不了几十个字节。
市面上常见单片机的硬件I²C模块实在乏善可陈,实现的功能都不完善,连基本的锁死总线都无法直接实现,连大页面、长帧的总线访问都无法直接实现……用起来束手束脚。
追问
大神,膜拜!方便加个qq,深入学习下吗?
展开全部
我没有用过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果做主那无所谓了,只要I2C的时钟速率能够满足您功能的需求,那实现倒是简单了。
如果是做从设备,则一个是看IO速率,一般软实现的话,做从设备不会超过400k。
另一个则是看您代码的实现,这部分就要求比较高了。因为涉及到各种异常情况的处理,如果开发的不好的话,容易出现主控兼容性问题。(当然了,若主控都是您自己开发,那从设备也问题不大了)
如果是做从设备,则一个是看IO速率,一般软实现的话,做从设备不会超过400k。
另一个则是看您代码的实现,这部分就要求比较高了。因为涉及到各种异常情况的处理,如果开发的不好的话,容易出现主控兼容性问题。(当然了,若主控都是您自己开发,那从设备也问题不大了)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询