这个问题涉及一个项目,我需要在嵌入式操作系统和小型微控制器之间进行串行通信。
Java
是否适合I2C
串行通信的目的 - 我特别考虑速度。
我似乎记得,由于Java和JVM,其他编程语言,例如C
,C++
和Python
是更好,更快的选择。
有没有人有这方面的经验?
感谢。
编辑:更具体地说,嵌入式操作系统是Raspbian,在Raspberry Pi上运行。
答案 0 :(得分:5)
查看一个Raspberry Pi - 它是一个完整的Linux系统,基本上是一个嵌入式设备。它有一堆GPIO引脚,其中一些可用于UART和I2C。
当尝试与RPi的GPIO引脚进行任何通信时,Pi4J库将使生活变得更加轻松。 http://pi4j.com/
要了解C / C ++是否比Java更好的选择 - 这取决于你在做什么。我碰巧喜欢使用Java而不是C,因此如果平台允许,我会选择任何一天......但那只是我。你真的需要类似裸机的性能还是几毫秒就可以了?在某些情况下,权衡可能意味着项目完成的时间更长等......当使用更高级别的语言时。
RPi非常喜欢python btw,所以你甚至可以将它用于你的I2C。
答案 1 :(得分:4)
一般来说,C
和C++
之类的语言更快,更适合这种情况。很多时候人们说C
/ C++
接近金属,因为你真的控制着这么低的水平(实际上是在寄存器水平上)。另一方面,Java
因为你说的原因而有更多的开销:JVM
。因此,您的微控制器可能甚至无法支持Java
,但我不知道您正在使用什么。
答案 2 :(得分:0)
尽管C ++和C的执行速度可能更快,但是我对RPI上的 Java开发有着良好的经验,所以我建议这样做。
为了更轻松地构建应用程序,我建议以下内容:
我也同意:
RPi非常喜欢python btw
通常,用Python语言解决RPI的常见问题然后将其移植到Java代码通常很容易。