设为首页 加入收藏

TOP

通过JAVA与串口(RS232)通信实例
2014-11-23 20:20:39 】 浏览:1379
Tags:通过 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 gnu.io.CommPortIdentifier;


  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线程的概念与原理 下一篇Java中的缓冲区

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目