win7 64为下使用rxtx串口通信

来源:互联网 发布:图数据库之王 neo4j 编辑:程序博客网 时间:2024/04/30 21:19

说明一下rxtx是javacomm串口通信jar的一个开源的扩展,继承了它,所以,我们在环境搭建好之后,只要把

import javax.comm.;替换成import gnu.io.;即可了。

环境的搭建;

首先到地址:http://rxtx.qbang.org/wiki/index.php/Download去下载
解压之后你会看到支持各个平台的文件夹:

找到你的java的运行环境:如找到win64下rxtxSerial.dll文件

如我的java的安装目录下:

D:\Program Files\Java\jre7

复制 rxtxSerial.dll 到D:\Program Files\Java\jre7/bin/
复制 RXTXcomm.jar 到 D:\Program Files\Java\jre7/lib/ext/
在你的开发工具中引入lib包中的RXTXcomm.jar

com1串口通信的代码;

public static final byte[] init = new byte[]{0x1B,0x40};    public static final byte[] clean = new byte[]{0x0C};    public static final byte[] pre_display = new byte[]{0x1B,0x51,0x41};    public static final byte[] post_display = new byte[]{0x0D};    public static void displayCustomerScreen(String data, byte[] mode){        try {            CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier("COM1");            SerialPort serialPort = (SerialPort)portIdentifier.open("收银客户端", 5000);            serialPort.setSerialPortParams(2400, 8, 1, 0);            serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);            try{                OutputStream outputStream = serialPort.getOutputStream();                if(mode!=null){                    outputStream.write(mode);                }                if(data!=null){                    outputStream.write(pre_display);                    outputStream.write(data.getBytes());                    outputStream.write(post_display);                }                outputStream.flush();                outputStream.close();            } catch (IOException e) {                e.printStackTrace();            }            finally {                serialPort.close();            }        } catch (NoSuchPortException e) {            e.printStackTrace();        } catch (PortInUseException e) {            e.printStackTrace();        } catch (UnsupportedCommOperationException e) {            e.printStackTrace();        }    }

到此win7 64位下Rxtx替换comm的串口通信完成。

0 0
原创粉丝点击