linux java 串口编程_Linux系统下运用开源RXTX库实现JAVA串口通讯

概述

一个嵌入式系统通常需要通过串口与其主控系统进行全双工通讯,譬如我们的环境在线监测系统下的各类监测仪器如流量计,PH计,电机状态检测仪器就需要定时的接受控制系统发送来的查询和控制信息,并将执行结果或查询结果发送回控制系统。

一.java的串口通讯扩展包javax.comm

Sun的J2SE中并没有直接提供任何一种串行通讯协议的开发包,而是以独立的jar包形式发布在java.sun.com网站上----即comm.jar,称之为Javatm Communications API,它是J2SE的标准扩展。comm.jar并不是最近才有,早在1998年时,sun就已经发布了这个开发包。comm.jar分别提供了对常用的RS232串行端口和IEEE1284并行端口通讯的支持。目前sun发布的comm.jar只有Windows和Solaris平台两个版本,如果需要Linux平台下的,可以在http://users.frii.com/jarvi/rxtx/index.html找到。

所有的comm API位于javax.comm包下面。其中比较重要的类和接口如下,

javax.comm.CommDriver

javax.comm.CommPort

javax.comm.ParallelPort

javax.comm.SerialPort

javax.comm.CommPortIdentifier

javax.comm.CommPortOwnershipListener

javax.comm.ParallelPortEvent

javax.comm.SerialPortEvent

javax.comm.ParallelPortEventListener (extends java.util.EventListener)

javax.comm.SerialPortEventListener (extends java.util.EventListener)

javax.comm.NoSuchPortException

javax.comm.PortInUseException

javax.comm.UnsupportedCommOperationException

通讯方式,CommPort的输入流的读取方式与文件的输入流有些不一样,那就是可能永远不知这个InputStream何时结束,除非对方的OutputStream发送了一个特定数据表示发送结束,收到这个特定字符后,再行关闭InputStream。而comm.jar提供了两种灵活的方式让我们读取数据:

1.轮询方式(Polling)

2.监听方式(listening)。Comm API支持标准的Java Bean型的事件模型。也就是说,可以使用类似AddXXXListener这样的方法为一个串口注册自己的监听器,以监听方式进行数据读取。

二.RXTX项目

RXTX是一个提供串口和并口通信的开源java类库,由该项目发布的文件均遵循LGPL协议。该项目的主页位于http://users.frii.com/jarvi/rxtx/index.html。

RXTX项目提供了Windows,Linux,Mac os X,Solaris操作系统下的兼容javax.comm串口通讯包API的实现,为其他开发人员在此类系统下开发串口应用提供了相当的方便。

针对x86体系结构的Linux操作系统平台,RXTX的部署包括下面几个文件:

* RXTXcomm.jar        RXTX自己的javax.comm实现

* librxtxSeri

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值