我一直在寻找可以与Windows/Win32上的串行设备通信的Java API,但我检查过的许多API要么是用于Linux,要么过时,要么就是批评不好的人.
有人可以向我推荐一个他们已经尝试或知道的在Windows XP上易于实现吗?
是否有一个java库或框架(Sun提供的javax.comm除外)在访问串行和并行端口(特别是RS-232)时很容易使用.我需要一些可以在Windows和Linux上运行的免费软件.
我是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 = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
System.out.println("port identified is Serial.. "
+ portId.getPortType());
if (portId.getName().equals("COM2")) {
System.out.println("port identified is COM2.. "
+ portId.getName());
// if (portId.getName().equals("/dev/term/a")) …Run Code Online (Sandbox Code Playgroud) 我是Java的初学者,我写的("FLASH").getbytes()是这样的serialport.
在我得到FLASH_OK回复后,我再次发送文件请求.之后我会得到回复,因为FILE_OK我已经将文件读到文件的末尾.
我没有得到如何做到这一点,所以请帮助我.
谢谢你的答复.