• 大小: 84KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: Java
  • 标签: Java  

资源简介

可一次性读取串口的所有数据,带GUI界面(使用windowsbuider设计),Java实现,可运行,使用的时候记得把lib里面的文旦配置好

资源截图

代码片段和文件信息

package com.qdjk.wdts.tool;

import java.io.Flushable;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import java.util.TooManyListenersException;

import javax.swing.JOptionPane;

import com.qdjk.wdts.view.SerialListener;

import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.SerialPortEventListener;
import gnu.io.UnsupportedCommOperationException;

public class serialTool {

public static int flag=0;
static byte[] bytes = null;
public static List findPort() {
// TODO Auto-generated method stub

 Enumeration portList = CommPortIdentifier.getPortIdentifiers(); 
        List portNameList = new ArrayList<>();
        //将可用串口名添加到List并返回该List
        while (portList.hasMoreElements()) {
            String portName = portList.nextElement().getName();
            portNameList.add(portName);
        }
        return portNameList;
}

public static SerialPort openPort(String commName int btln) {
// TODO Auto-generated method stub
try {
        //通过端口名识别端口
        CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(commName);
        
        //打开端口,并给端口名字和一个timeout(打开操作的超时时间)
        CommPort commPort = portIdentifier.open(commName 2000);
        //判断是不是串口
        if (commPort instanceof SerialPort) {
            SerialPort serialPort = (SerialPort) commPort;
            //设置一下串口的波特率等参数
            serialPort.setSerialPortParams(btln SerialPort.DATABITS_8 SerialPort.STOPBITS_1 SerialPort.PARITY_NONE);                              
            return serialPort;
        }
     
        }catch(NoSuchPortException e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(null “错误:串口找不到!“);
        
        }catch(PortInUseException e1) {
         e1.printStackTrace();
         JOptionPane.showMessageDialog(null “错误:串口已被占用!“);
        }catch(UnsupportedCommOperationException e2) {
         e2.printStackTrace();
         JOptionPane.showMessageDialog(null “错误:操作不允许!“);
        }
return null;
}

public static void addListener(SerialPort port SerialListener listener)throws  TooManyListenersException {
// TODO Auto-generated method stub
//给串口添加监听器
        port.addEventListener(listener);
        //设置当有数据到达时唤醒监听接收线程
        port.notifyondataavailable(true);
        //设置当通信中断时唤醒中断线程
        port.notifyOnBreakInterrupt(true);
}

public static void closePort(SerialPort serialPort) {
// TODO Auto-generated method stub
if (serialPort != null) {
            serialPort.close();
            serialPort = null;
        }
}

public static void sendToPort(SerialPort s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        370  2018-01-30 10:39  Wdts\.classpath

     文件        380  2018-01-30 10:38  Wdts\.project

     文件        598  2018-01-30 10:38  Wdts\.settings\org.eclipse.jdt.core.prefs

     文件       6450  2018-03-05 10:46  Wdts\bin\com\qdjk\wdts\tool\serialTool.class

     文件       4834  2018-03-05 10:47  Wdts\bin\com\qdjk\wdts\view\SerialListener.class

     文件        996  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView$1.class

     文件       3327  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView$2.class

     文件       2260  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView$3.class

     文件        749  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView$4.class

     文件        831  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView$5.class

     文件       2587  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView$6.class

     文件       1268  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView$7.class

     文件       1636  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView$8.class

     文件      10988  2018-03-01 15:04  Wdts\bin\com\qdjk\wdts\view\wdtsView.class

     文件       1988  2018-03-01 14:32  Wdts\bin\org\eclipse\wb\swing\FocusTraversalOnArray.class

     文件      60984  2018-01-30 10:39  Wdts\lib\RXTXcomm.jar

     文件       7176  2018-03-05 10:46  Wdts\src\com\qdjk\wdts\tool\serialTool.java

     文件       6863  2018-03-05 10:47  Wdts\src\com\qdjk\wdts\view\SerialListener.java

     文件      20849  2018-03-01 15:04  Wdts\src\com\qdjk\wdts\view\wdtsView.java

     文件       3009  2018-01-30 16:03  Wdts\src\org\eclipse\wb\swing\FocusTraversalOnArray.java

     目录          0  2018-03-01 16:36  Wdts\bin\com\qdjk\wdts\tool

     目录          0  2018-03-01 14:32  Wdts\bin\com\qdjk\wdts\view

     目录          0  2018-03-01 14:32  Wdts\bin\org\eclipse\wb\swing

     目录          0  2018-01-31 15:24  Wdts\src\com\qdjk\wdts\tool

     目录          0  2018-01-31 16:52  Wdts\src\com\qdjk\wdts\view

     目录          0  2018-01-30 16:03  Wdts\src\org\eclipse\wb\swing

     目录          0  2018-03-01 14:32  Wdts\bin\com\qdjk\wdts

     目录          0  2018-03-01 14:32  Wdts\bin\org\eclipse\wb

     目录          0  2018-02-23 11:00  Wdts\src\com\qdjk\wdts

     目录          0  2018-01-30 16:03  Wdts\src\org\eclipse\wb

............此处省略16个文件信息

评论

共有 条评论