资源简介
利用java编写的全套串口通信代码,已测试无错误,直接导入eclipse使用。

代码片段和文件信息
package com.yang.serialport.manager;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.TooManyListenersException;
import com.yang.serialport.utils.ArrayUtils;
import com.yang.serialport.utils.ShowUtils;
import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import gnu.io.UnsupportedCommOperationException;
/**
* 串口管理
*
* @author yangle
*/
@SuppressWarnings(“all“)
public class SerialPortManager {
/**
* 查找所有可用端口
*
* @return 可用端口名称列表
*/
public static final ArrayList findPorts() {
// 获得当前所有可用串口
Enumeration portList = CommPortIdentifier.getPortIdentifiers();
ArrayList portNameList = new ArrayList();
// 将可用串口名添加到List并返回该List
while (portList.hasMoreElements()) {
String portName = portList.nextElement().getName();
portNameList.add(portName);
}
return portNameList;
}
/**
* 打开串口
*
* @param portName
* 端口名称
* @param baudrate
* 波特率
* @return 串口对象
* @throws PortInUseException
* 串口已被占用
*/
public static final SerialPort openPort(String portName int baudrate) throws PortInUseException {
try {
// 通过端口名识别端口
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
// 打开端口,并给端口名字和一个timeout(打开操作的超时时间)
CommPort commPort = portIdentifier.open(portName 2000);
// 判断是不是串口
if (commPort instanceof SerialPort) {
SerialPort serialPort = (SerialPort) commPort;
try {
// 设置一下串口的波特率等参数
// 数据位:8
// 停止位:1
// 校验位:None
serialPort.setSerialPortParams(baudrate SerialPort.DATABITS_8 SerialPort.STOPBITS_1
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {
e.printStackTrace();
}
return serialPort;
}
} catch (NoSuchPortException e1) {
e1.printStackTrace();
}
return null;
}
/**
* 关闭串口
*
* @param serialport
* 待关闭的串口对象
*/
public static void closePort(SerialPort serialPort) {
if (serialPort != null) {
serialPort.close();
}
}
/**
* 往串口发送数据
*
* @param serialPort
* 串口对象
* @param order
* 待发送数据
*/
public static void sendToPort(SerialPort serialPort byte[] order) {
OutputStream out = null;
try {
out = serialPort.getOutputStream();
out.write(order);
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (out != null) {
out.close();
out = null;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 从串口读取数据
*
* @param serialPort
* 当前已建立连接的SerialPort对象
* @return 读取到的数据
*/
public static byte[] readFromPort(SerialPort serialPort) {
InputStream in = null;
byte[] byt
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-05 08:00 SerialPortDemo-master\
文件 404 2018-06-05 08:00 SerialPortDemo-master\.classpath
文件 343 2018-06-05 08:00 SerialPortDemo-master\.fatjar
文件 4 2018-06-05 08:00 SerialPortDemo-master\.gitignore
文件 373 2018-06-05 08:00 SerialPortDemo-master\.project
目录 0 2018-06-05 08:00 SerialPortDemo-master\.settings\
文件 85 2018-06-05 08:00 SerialPortDemo-master\.settings\org.eclipse.core.resources.prefs
文件 617 2018-06-05 08:00 SerialPortDemo-master\.settings\org.eclipse.jdt.core.prefs
文件 11357 2018-06-05 08:00 SerialPortDemo-master\LICENSE
文件 605 2018-06-05 08:00 SerialPortDemo-master\README.md
文件 138510 2018-06-05 08:00 SerialPortDemo-master\SerialPortDemo.jar
目录 0 2018-06-05 08:00 SerialPortDemo-master\lib\
文件 2850 2018-06-05 08:00 SerialPortDemo-master\lib\AbsoluteLayout.jar
文件 60984 2018-06-05 08:00 SerialPortDemo-master\lib\RXTXcomm.jar
文件 118103 2018-06-05 08:00 SerialPortDemo-master\lib\swing-layout-1.0.3.jar
目录 0 2018-06-05 08:00 SerialPortDemo-master\src\
目录 0 2018-06-05 08:00 SerialPortDemo-master\src\com\
目录 0 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\
目录 0 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\
目录 0 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\manager\
文件 5898 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\manager\SerialPortManager.java
目录 0 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\ui\
文件 9056 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\ui\Mainfr
目录 0 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\utils\
文件 654 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\utils\ArrayUtils.java
文件 1442 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\utils\ByteUtils.java
文件 1455 2018-06-05 08:00 SerialPortDemo-master\src\com\yang\serialport\utils\ShowUtils.java
相关资源
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
评论
共有 条评论