首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>java教程>资讯:通过JAVA与串口(RS232)通信实例

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

www.jz123.cn  2010-02-05   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  最近了解到的需求是需要需激光打刻机进行(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中Calendar日期对象

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图