Java 串口通信编程1.概述在 java 中,利用 Java Communication 包可以操作串口,但官方的包在 3.0 之后就只支持 Linux 和 Solaris 平台了,Windows 平台的只支持到 98 年出的 2.0 版本,不过在 XP 下还能使用。另外,也可以用开源的 Rxtx 实现串口通信,这里仅以 Java Communication 包,在Windows 平台实现串口通信进行说明。2.前期准备2.1.下载 Java Communication 包下载地址如下:http://mdubuc.freeshell.org/Jolt/javacomm20-win32.zip。如果是非 Windows 平台,请到 Sun 网站选择其他版本下载。地址如下: http://www.sun.com/download/products.xml?id=43208d3d2.2.配置解压缩 javacomm20-win32.zip把 win32com.dll 拷贝到{JAVA_HOME}\jre\bin把 comm.jar 拷贝到{JAVA_HOME}\jre\lib\ext把 javax.comm.properties 拷贝到{JAVA_HOME}\jre\libset CLASSPATH={JAVA_HOME}\jre \lib\ext \comm.jar;%classpath%3.实现过程主要步骤包括:获得串口标识打开串口设置串行端口通讯参数获取输入(出)流进行读写操作3.1.获得串口标识指定串口的端口号,生成串口的标识类的实例。javax.comm.CommPortIdentifier 是通讯端口管理器,控制访问到通讯端口的中心类。 一个应用程序首先使用 CommPortIdentifier 中的方法,通过相关的驱动去获取那些通讯端口是可用的 并且选择一个端口便于开始。它包括如下功能: a. 通过驱动决定通讯端口是可用的。 b. 打开通讯端口为了 I/O 操作。 c. 决定端口的拥有者。 d. 解析端口拥有者的争夺。 e. 管理事件显示在端口拥有者的中的状态改变。示例代码如下:代码:CommPortIdentifier portID = null;try{// CommPortIdentifier を取得portID = CommPortIdentifier.getPortIdentifier("COM1");}catch(NoSuchPortException ex){ex.printStackTrace();}3.2.打开串口示例代码如下:代码:try{// ポートのオープンport = (SerialPort)portID.open("portApp", 5000);}catch(PortInUseException ex){ ex.printStackTrace();}5000(毫秒)是超时时间。3.3.设置串行端口通讯参数设置串口传输的波特率、数据位、停止位、奇偶校验等参数。示例代码如下:代码:try {// 通信条件の設定// 通信速度 9600 baud// データビット 8bit// ストップビット 1bit// パリティ なし// フローコントロールの設定// 無制御を使用por...