当前位置: 首页 > 知识库问答 >
问题:

使用Java从COM端口获取Arduino二进制文件

江天宇
2023-03-14

我想让Arduino代码进入虚拟串行端口,而不是实际的Arduino。IDE通过COM端口向Arduino发送二进制代码,在本例中,COM端口将是虚拟COM端口,而不是Arduino。

我想读取并存储正在上载到COM端口的代码。我尝试了几个Java库(RXTX、jSSC和gnu.io),但我无法读取COM端口上的内容,因为它总是会给出另一个应用程序(即Arduino IDE)正在使用它的例外情况。所以我想在一个虚拟端口上传Arduino代码,在这个端口的另一端有一个Java应用程序,它可以读取发送到这个端口的内容。

相关问题:通过Arduino IDE在虚拟串口上上传Arduino代码。

如果一个解决方案可用或更容易的任何其他语言,我是开放的。

共有1个答案

沈实
2023-03-14

目前,这听起来像是在尝试用两个应用程序读写同一个端口,并期望在另一个应用程序的输入上获得一个应用程序的输出--这并不完全是这样工作的。将COM端口视为可以读写的流的一端,而不是流本身--因此,当您告诉多个进程(在您的例子中是Arduino和Java程序)从同一端读/写两者时,它将失败。

我相信你想要的是一个空调制解调器模拟器。使用com0com之类的东西创建一对虚拟COM端口,其中一个端口的输入将显示为另一个端口的输出(反之亦然)然后,您可以相对正常地进行操作,使用Arduino IDE写入对中的一个COM端口,并使用jssc、RXTX或您选择的任何其他串行库,使用Java程序监听另一个COM端口。

 类似资料:
  • 问题内容: 我有一个较长的无符号整数文件(每个64位,0.47GB文件),需要读取并存储在数组中。经过一番思考之后,由于Java中的所有内容都已签名(请纠正我,请纠正我),因此我长时间使用了该类型,我想不出更好的选择了。无论如何,仅需对数组进行排序,因此原始数字的精确值并不是最重要的。我们应该测量排序算法的效率,仅此而已。但是,当我实际要读取文件时(在下面的代码中),我遇到了砖墙。 它会一直持续下

  • 问题内容: 我有一个Java程序,必须读取Arduino发送的信息。我从这里获取了Java代码。现在,我不太了解它是如何工作的,但是我尝试对其进行修改,并且得到了以下信息: 我创建一个对象串行COM口,我需要在主程序,然后我使用和当我需要它。 效果很好,Arduino获取数据并将其显示在LCD显示屏中。问题是。程序运行时,它会不断从串行端口读取数据(大约每40毫秒一次),但这并不意味着Arduin

  • 难道不应该从它的二进制文件中获得源代码吗?既然编译是将高级语言(源代码)转换为低级语言(机器代码)的过程,难道我们不能为了获得源代码而直接反转这个过程吗?如果没有,为什么?

  • 问题内容: 我正在尝试使用以下方法下载此文件(http://github.com/downloads/TheHolyWaffle/ChampionHelper/ChampionHelper-4.jar),但似乎无法正常工作。我收到一个空文件/损坏的文件。 但是我可以使用相同的方法从我的保管箱(http://dl.dropbox.com/u/13226123/ChampionHelper-4.jar

  • 问题内容: 我正在尝试从URLConnection读取二进制文件。当我使用文本文件对其进行测试时,它似乎可以正常工作,但对于二进制文件则不能。发送文件时,我在服务器上使用以下mime类型: 但是到目前为止,似乎没有任何效果。这是我用来接收文件的代码: 问题答案: 我就是这样

  • 我正在尝试将数据写入我的Arduino Uno,并从中接收日期。 我在Windows 8.1上使用NetBeans,为了做到这一点,库“RXTXcomm.jar”。 我的代码是这样的,我的Arduino在COM3上,它在第25行和第80行抛出一个错误: 错误 java.lang.UnsatisfiedLinkError:java.library中没有rxtxSerial。加载gnu.io时抛出的路