Arduino 上有些传感器使用 I²C 数据总线,相比普通的串口传感器有哪些优缺点?

发布于 2022-08-31 09:26:54 字数 56 浏览 24 评论 0

买了一个arduino兼容的传感器是使用 I²C 通信的,I²C 相比普通的串口有哪些优点吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

安穩 2022-09-07 09:26:54

I²C一个总线上可以挂多个设备(传感器),设备之间直接用过ID进行区分,同一个总线上只能有一个主设备,可以有多个从设备,通信只能从主设备发起,不能从从设备发起。速率方面常用的有9.6Kbps、1.92Kbps、1.152Kbps,串口的通信速率必须两个设备都匹配才能进行。
串口属于点对点通信,一条串口线两端各联一个设备,设备之间是平等的,也就是两个设备都能够发起通信,而且使用的是两条不同的信号线,通信过程不会冲突。速率方面有100Kbps、400Kbps,一般只要从设备支持的速率上限足够,主设备的通信速率就可以随意了(因为)。

所以,总结一下:

  1. 一路I²C可以接多个传感器组成传感器网络,而一路串口只能接1个传感器;
  2. I²C的通信速率比较灵活,串口的比较死;
  3. I²C只能主设备发起通信,不能传感器主动想主设备发送数据,而串口则可以传感器主动发数据;
  4. 使用的难易程度来讲,串口比较简单,而I²C的调试相对复杂一些。

总的感觉是,在传感器领域这块的话I²C更为适用,一般可以使用主机不停轮询的方式来规避I²C从设备不能主动发数据的问题。

陌伤浅笑 2022-09-07 09:26:54

arduino的话用wire库很方便的,我觉得最大的好处就是节约IO端口。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文