糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > java rs232_通过JAVA与串口(RS232)通信实例

java rs232_通过JAVA与串口(RS232)通信实例

时间:2019-01-15 06:36:14

相关推荐

java rs232_通过JAVA与串口(RS232)通信实例

近了解到的需求是需要需激光打刻机进行(RS232)串口通信,这里使用的是RXTX开源包实现的。

之前并没有用java做过串口通信,而且这方面资料不是很多。

项目实际应用中可能会采用VB开发(这个我就不会了)

只不过用java尝试一下,记个笔记,希望可以对相关开发用些帮助。

下面是实现代码

Java代码

package test;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.util.Date;

import java.util.Enumeration;

import java.util.TooManyListenersException;

import mPortIdentifier;

import gnu.io.PortInUseException;

import gnu.io.SerialPort;

import gnu.io.SerialPortEvent;

import gnu.io.SerialPortEventListener;

import gnu.io.UnsupportedCommOperationException;

public class CommUtil implements SerialPortEventListener {

InputStream inputStream; // 从串口来的输入流

OutputStream outputStream;// 向串口输出的流

SerialPort serialPort; // 串口的引用

CommPortIdentifier portId;

public CommUtil(Enumeration portList, String name) {

while (portList.hasMoreElements()) {

CommPortIdentifier temp = (CommPortIdentifier) portList.nextElement();

if (temp.getPortType() == CommPortIdentifier.PORT_SERIAL) {// 判断如果端口类型是串口

if (temp.getName().equals(name)) { // 判断如果端口已经启动就连接

portId = temp;

}

}

}

try {

serialPort = (SerialPort) portId.open("My"+name, 2000);

} catch (PortInUseException e) {

}

try {

inputStream = serialPort.getInputStream();

outputStream = serialPort.getOutputStream();

} catch (IOException e) {

}

try {

serialPort.addEventListener(this); // 给当前串口天加一个监听器

} catch (TooManyListenersException e) {

}

serialPort.notifyOnDataAvailable(true); // 当有数据时通知

try {

serialPort.setSerialPortParams(2400, SerialPort.DATABITS_8, // 设置串口读写参数

SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);

} catch (UnsupportedCommOperationException e) {

}

}

如果觉得《java rs232_通过JAVA与串口(RS232)通信实例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。