Tag: 串口

通过串行通信java发送数据包

我正在编写一个通过串行端口与外部设备通信的Java应用程序。 我想我可以连接到设备并发送/接收数据好了(我现在无法访问设备……我正在使用模拟器) 我只是需要一些关于如何格式化我发送的数据的建议。 规范说它应该以字节格式发送。所以,如果我有类似下面的数据包发送 AA | 0D | 07 | 09 | 0A | 0B | 03 | 01 | 02 | 03 | 04 | CSM | CSM 这是我应该做的事情 outputStream.write((byte)0xAA); outputStream.write((byte)0x0D); outputStream.write((byte)0x07); …或者我离开了? 我很抱歉,如果这是非常基本的..我以前从未处理过任何此类型的东西,我将不会在设备上接触几天。

是否有用于访问串行端口的Java库或框架?

是否有一个java库或框架(Sun提供的javax.comm除外)在访问串行和并行端口(特别是RS-232)时很容易使用。 我需要一些可以在Windows和Linux上运行的免费软件。

Java / Arduino – 从串行端口读取数据

我有一个Java程序,我必须阅读Arduino发送的信息。 我从这里获取了Java代码。 现在,我真的不明白它是如何工作的,但我试着修改它,我得到了这个: import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; import gnu.io.SerialPortEvent; import gnu.io.SerialPortEventListener; import java.util.Enumeration; public class Serial implements SerialPortEventListener { SerialPort serialPort; private static final String PORT_NAMES[] = { “/dev/tty.usbserial-A9007UX1”, // Mac OS X “/dev/ttyUSB0”, // Linux “COM3”, // Windows }; private BufferedReader input; private static OutputStream output; private static […]

在Java中读取串口

我是Java的初学者。 我正在通过串口从设备读取数据。 我每隔一分钟就会获得一次数据,但是在数据正确显示之后,第一次读数将会减半。 我得到的输出是: 6050.003120815340006050.003120815350006050.0 正确的输出应该是这样的: 03120815340006050.003120815350006050.0 我的代码是: import java.io.*; import java.util.*; //import gnu.io.*; import javax.comm.*; public class SimpleRead implements Runnable, SerialPortEventListener { static CommPortIdentifier portId; static Enumeration portList; InputStream inputStream; SerialPort serialPort; Thread readThread; byte[] readBuffer; public static void main(String[] args) { portList = CommPortIdentifier.getPortIdentifiers(); System.out.println(“portList… ” + portList); while (portList.hasMoreElements()) { portId = […]

在RXTX中收到的问题

我已经使用RXTX大约一年了,没有太多问题。 我刚开始一个新的程序与一个新的硬件进行交互,所以我重用了我在其他项目中使用的connect()方法,但我有一个我以前从未见过的奇怪问题。 问题 该设备工作正常,因为当我连接HyperTerminal时,我发送东西并收到我期望的东西, 串口监视器 (SPM)反映了这一点。 但是,当我运行简单的HyperTerminal-clone时,我编写了诊断我的主要应用程序的问题,根据SPM发送字节,但没有收到任何内容,我的SerialPortEventListener永远不会触发。 即使我在主循环中检查可用数据, reader.ready()返回false 。 如果我忽略了这个检查,那么我会得到一个例外,详情如下。 connect()方法的相关部分 // Configure and open port port = (SerialPort) CommPortIdentifier.getPortIdentifier(name) .open(owner,1000) port.setSerialPortParams(baud, databits, stopbits, parity); port.setFlowControlMode(fc_mode); final BufferedReader br = new BufferedReader( new InputStreamReader( port.getInputStream(), “US-ASCII”)); // Add listener to print received characters to screen port.addEventListener(new SerialPortEventListener(){ public void serialEvent(SerialPortEvent ev) { try { […]

如何使用JAVA将数据发送到COM PORT?

可能重复: Windows上的Java串行通信 朋友们,我想在JAVA中连接数据并将数据传输到COM PORT(虚拟或原始)?