将Arduino串行输出写入PC上的文件或程序

Write Arduino Serial output to file or program on PC

本文关键字:文件 程序 PC Arduino 输出      更新时间:2023-10-16

所以我一直在寻找一种从Arduino直接写到PC上的文件的方法,基本上我发现没有原生方法可以这样做。我想这样做是为了从c++/Java程序中读取文件,并使用其中的信息。我还想在某些时候实时地做到这一点,所以这有点像将信息从Arduino发送到Java/c++程序进行处理。

然而,我在其他论坛上看到很多人说,你可以将串行输出链接到PC上运行的一些程序,然后使用该程序将输出写入文件。然而,每一次,他们都忽略了写出如何准确地做到这一点。

我想从Arduino直接写入文件的主要目的是从另一个(Java/c++)程序中读取该文件,所以上面的内容对我来说很好。那么,如何将Serial输出输入到Java(更好,因为我以后可能希望使用Swing)或c++程序中,然后在程序本身中使用该信息,或者将其写入文件?实时发送会很有帮助。

如果上述不可能,MATLAB可能会这样做,但要清楚,我宁愿能够与Java/c++接口。或者同时使用Java和MATLAB。

编辑:为了更具体地了解我到底想做什么,这是一种"触发"Java程序从串行输出中读取,当一个新的行已经写入(所以它读取每一行单独),并将其存储在Java程序中的字符串,然后处理它,一次,然后睡眠,直到另一个新的行写入串行端口。

下面的链接向您展示如何在Java和c++中实现串行通信。

Java :http://playground.arduino.cc/interfacing/java

c++

:http://playground.arduino.cc/Interfacing/CPPWindows

如果你想将数据流写入本地文件,你可以这样做,例如,使用ofstream (c++)或 printwwriter (Java)。

此外,还有一些其他编程语言的额外库,如c# (cmdMessenger)。

如果有人正在寻找最简单的方法来做到这一点,那么忽略c++和Java并使用MATLAB是很容易的。

我在AllAboutEE上有一个很好的短教程,它解决了我的大部分问题。而不是在最后绘制数据,只需使用MATLAB中的fprintf将数据输出到文件中。