win7 64为下使用rxtx串口通信

本文详细介绍了如何通过RXTX库替换Java Comm库来实现串口通信,包括环境搭建、代码实现及示例应用。

说明一下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的串口通信完成。

【源码免费下载链接】:https://renmaiwang.cn/s/zx45f 在Windows 64操作系统中,用户可能会遇到与Java应用程序相关的串口通信问题,这通常是因为缺少必要的库文件。在本案例中,我们关注的是两个关键的动态链接库(DLL)文件:`rxtxSerial.dll` 和 `rxtxParallel.dll`。这些文件是RXTX库的一部分,RXTX是一个开源的Java库,专门用于处理串行(RS-232)和并行(IEEE 1284.4)通信。让我们深入了解RXTX库。RXTX是一个跨平台的Java API,它提供了与硬件串口和并口交互的能力,使得开发者能够在Java程序中实现低级别的通信功能。这个库弥补了Java标准版(Java SE)中对串口支持的不足。在Java中,虽然Socket和Datagram套接字提供了网络通信的支持,但原生的Java API并不直接支持串行或并行通信。`rxtxSerial.dll` 是RXTX库中的串口通信组件,它实现了Java虚拟机(JVM)与系统串行端口之间的桥梁。而`rxtxParallel.dll` 则对应并行通信功能,允许程序通过并行端口进行数据传输。这两个文件对于运行依赖于RXTX的Java应用至关重要,尤其是在需要本地串行或并行设备通信的情况下。当用户在Windows 64系统上运行Java应用,并遇到“找不到指定的模块”或类似错误时,可能就是因为缺少上述的DLL文件。解决这个问题的方法是将这两个文件放置在正确的置。根据描述,用户需要将`rxtxSerial.dll`和`rxtxParallel.dll`复制到Java安装目录下的特定置。具体来说,这个置通常是`JAVA_HOME\jre\bin`目录,其中`JAVA_HOME`环境变量应指向你的Java安装路径。在操作之前,确保你已经下载了适用于W
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值