Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Arduino Uno代码可以使用交叉编译器在BeagleBone Black上运行吗?_Java_C++_Arduino_Cross Compiling_Beagleboneblack - Fatal编程技术网

Java Arduino Uno代码可以使用交叉编译器在BeagleBone Black上运行吗?

Java Arduino Uno代码可以使用交叉编译器在BeagleBone Black上运行吗?,java,c++,arduino,cross-compiling,beagleboneblack,Java,C++,Arduino,Cross Compiling,Beagleboneblack,我目前是一个研究小组的成员,该小组正在为当地救援潜水员开发无人驾驶潜艇。目标是改进和修复去年团队的原型 现在这辆车使用的是Arduino Uno和BeagleBone黑色。Arduino控制着六个转子和几个车载传感器,而BeagleBone控制着一个车载摄像机(不要问为什么,这个设置是被选中的。以前的团队已经离开很久了,所以我们别无选择,只能继续前进) 根据上一个团队的说法,由于“屏蔽”问题,Arduino无法控制所有设备。使用BeagleBone做任何事情都是最优的,但是团队无法在2天内重写代

我目前是一个研究小组的成员,该小组正在为当地救援潜水员开发无人驾驶潜艇。目标是改进和修复去年团队的原型

现在这辆车使用的是Arduino Uno和BeagleBone黑色。Arduino控制着六个转子和几个车载传感器,而BeagleBone控制着一个车载摄像机(不要问为什么,这个设置是被选中的。以前的团队已经离开很久了,所以我们别无选择,只能继续前进)

根据上一个团队的说法,由于“屏蔽”问题,Arduino无法控制所有设备。使用BeagleBone做任何事情都是最优的,但是团队无法在2天内重写代码(没有人知道Java)。由于我只知道java,所以我最初的计划是学习C++,并用java编写代码。
最近,我遇到了术语“交叉编译器”,据我所知,它允许用一种语言编写的程序在使用另一种语言的平台上运行。交叉编译器能够从Arduino中提取代码并将其“转换”为BeagleBone吗?代码似乎太复杂,无法从一种语言转换到另一种语言。抱歉,如果我听起来像“noobish”,我是一名机械工程师学生,学过一门Java课程。

也许可以从BeagleBone上的Arduino编译C/C++代码,但工作方式不同。I/O端口将不会以相同的方式处理,并且可能存在许多其他问题。在Arduino上,你的程序几乎是唯一运行的东西。在BeagleBone上,您已经运行了一个成熟的Unix O/S,并且您的代码是许多进程中的一个

如果您了解Java,那么C/C++代码应该不会太难阅读。在BeagleBone上读取端口并控制我猜可能是伺服的东西当然是可能的。如果你有一些奥杜诺盾,那可能是个问题。他们可能会说SPI或I2C,但他们可能会使用更低的电平-可能只是一个PWM信号

这不会是一个琐碎的项目,但我的观点是你走的方向是正确的。我会一次使用一个子系统,然后为BeagleBone重新编写代码。像这样的东西可以驱动步进电机或伺服电机。然而,这带来了另一个问题——提供的是Python——还有一些移植需要完成


因此交叉编译不会有帮助——代码理论上是可移植的,但实际上不是。这需要重新编写。

您的问题不是代码问题,而是应该在其他论坛中搜索的一般问题。我建议你给我们看看你搜索和尝试过的东西汉克斯街!我原以为会有这个问题。我不熟悉硬件扩展屏蔽。盾牌会以什么方式引起问题?如果你依赖于特定的Arduino盾牌,它可能无法作为BeagleBone的斗篷。如果你在做步进器/伺服器/PWM和串行i/o之类的“标准”工作,你会没事的,但在Arduino和BeagleBone之间,与盾牌/海角的对话会有所不同。