Java串口程序调用:
RXTX串口插件的使用方法(windows平台):
1、把rxtxParallel.dll、rxtxSerial.dll拷贝到:C:\WINDOWS\system32下。
2、如果是在开发的时候(JDK),需要把RXTXcomm.jar、rxtxParallel.dll、rxtxSerial.dll拷贝到…\jre…\lib\ext下;如:D:\Program Files\Java\jre1.6.0_02\lib\ext
3、需要选中项目右键->Preperties->Java Build Path->Libraries->选择External Folder–>选择RXTXcomm.jar.
拷贝 RXTXcomm.jar 到 <JAVA_HOME>\jre\lib\ext目录中;
拷贝 rxtxSerial.dll 到 <JAVA_HOME>\jre\bin目录中;
拷贝 rxtxParallel.dll 到 <JAVA_HOME>\jre\bin目录中;
其中<JAVA_HOME>为jdk安装路径
下面是一些程序运行测试写的方法:
package com.serialport;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.TooManyListenersException;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import com.readtable.HexTest;
import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import gnu.io.UnsupportedCommOperationException;
/**
* 这个是一个更加完善的串口调用及接收函数类
* @author Administrator
*
*/
public class SerialReceiver extends Thread implements SerialPortEventListener{
HexTest hexT2 = new HexTest();
static CommPortIdentifier portId; // 串口通信管理类
static Enumeration<?> portList; // 有效连接上的端口的枚举
static InputStream inputStream; //从串口来数据的输入流
static OutputStream outputStream;// 向串口输出的流
static SerialPort serialPort; // 串口的引用
private static byte[] readBuffer = new byte[1024]; // 4k的buffer空间,缓存串口读入的数据
int numBytes; //buffer中的实际数据字节数 ,每一次读取的字节数据
// 堵塞队列用来存放读到的数据
private BlockingQueue<String> msgQueue = new LinkedBlockingQueue&l