资源简介
RX485串口编程源码,实现了串口编程的监听和读写
代码片段和文件信息
package com.rxtx;
import gnu.io.*;
import java.io.*;
import java.util.*;
public class SerialReader extends Observable implements RunnableSerialPortEventListener
{
static CommPortIdentifier portId;
int delayRead = 100;
int numBytes; // buffer中的实际数据字节数
private static byte[] readBuffer = new byte[1024]; // 4k的buffer空间缓存串口读入的数据
static Enumeration portList;
InputStream inputStream;
OutputStream outputStream;
static SerialPort serialPort;
HashMap serialParams;
Thread readThread;//本来是static类型的
//端口是否打开了
boolean isOpen = false;
// 端口读入数据事件触发后等待n毫秒后再读取以便让数据一次性读完
public static final String PARAMS_DELAY = “delay read“; // 延时等待端口数据准备的时间
public static final String PARAMS_TIMEOUT = “timeout“; // 超时时间
public static final String PARAMS_PORT = “port name“; // 端口名称
public static final String PARAMS_DATABITS = “data bits“; // 数据位
public static final String PARAMS_STOPBITS = “stop bits“; // 停止位
public static final String PARAMS_PARITY = “parity“; // 奇偶校验
public static final String PARAMS_RATE = “rate“; // 波特率
public boolean isOpen(){
return isOpen;
}
/**
* 初始化端口操作的参数.
* @throws SerialPortException
*
* @see
*/
public SerialReader()
{
isOpen = false;
}
public void open(HashMap params)
{
serialParams = params;
if(isOpen){
close();
}
try
{
// 参数初始化
int timeout = Integer.parseInt( serialParams.get( PARAMS_TIMEOUT )
.toString() );
int rate = Integer.parseInt( serialParams.get( PARAMS_RATE )
.toString() );
int dataBits = Integer.parseInt( serialParams.get( PARAMS_DATABITS )
.toString() );
int stopBits = Integer.parseInt( serialParams.get( PARAMS_STOPBITS )
.toString() );
int parity = Integer.parseInt( serialParams.get( PARAMS_PARITY )
.toString() );
delayRead = Integer.parseInt( serialParams.get( PARAMS_DELAY )
.toString() );
String port = serialParams.get( PARAMS_PORT ).toString();
// 打开端口
portId = CommPortIdentifier.getPortIdentifier( port );
serialPort = ( SerialPort ) portId.open( “SerialReader“ timeout );
inputStream = serialPort.getInputStream();
serialPort.addEventListener( this );
serialPort.notifyondataavailable( true );
serialPort.setSerialPortParams( rate dataBits stopBits parity );
isOpen = true;
}
catch ( PortInUseException e )
{
// 端口“+serialParams.get( PARAMS_PORT ).toString()+“已经被占用“;
}
catch ( TooManyListenersException e )
{
//“端口“+serialParams.get( PARAMS_PORT ).toString()+“监听者过多“;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1064 2019-10-14 17:06 demo485\.classpath
文件 559 2019-10-14 17:06 demo485\.project
文件 119 2019-10-14 17:06 demo485\.settings\org.eclipse.core.resources.prefs
文件 429 2019-10-14 17:06 demo485\.settings\org.eclipse.jdt.core.prefs
文件 90 2019-10-14 17:04 demo485\.settings\org.eclipse.m2e.core.prefs
文件 914 2019-10-14 17:09 demo485\pom.xm
文件 13972 2019-10-15 11:01 demo485\src\main\java\com\rxtx\SerialReader.java
文件 2608 2019-10-15 11:01 demo485\src\main\java\com\rxtx\Test.java
文件 290 2019-10-14 18:10 demo485\src\main\java\com\shenlan\demo485\App.java
文件 2304 2019-10-15 15:35 demo485\src\main\java\com\shenlan\demo485\Listener.java
文件 3720 2019-10-14 19:05 demo485\src\main\java\com\shenlan\demo485\ListPort.java
文件 4113 2019-10-14 18:38 demo485\src\main\java\com\shenlan\demo485\RxtxDemo.java
文件 1992 2019-10-15 14:50 demo485\src\main\java\com\shenlan\demo485\RxtxDemo2.java
文件 1569 2019-10-15 14:52 demo485\src\main\java\com\shenlan\demo485\Write.java
文件 685 2019-10-14 17:04 demo485\src\test\java\com\shenlan\demo485\AppTest.java
文件 7331 2019-10-23 17:46 demo485\target\classes\com\rxtx\SerialReader.class
文件 3080 2019-10-23 17:46 demo485\target\classes\com\rxtx\Test.class
文件 603 2019-10-23 17:46 demo485\target\classes\com\shenlan\demo485\App.class
文件 1874 2019-10-23 17:46 demo485\target\classes\com\shenlan\demo485\Listener.class
文件 3064 2019-10-23 17:46 demo485\target\classes\com\shenlan\demo485\ListPort.class
文件 3883 2019-10-23 17:46 demo485\target\classes\com\shenlan\demo485\RxtxDemo.class
文件 2039 2019-10-23 17:46 demo485\target\classes\com\shenlan\demo485\RxtxDemo2.class
文件 1391 2019-10-23 17:46 demo485\target\classes\com\shenlan\demo485\Write.class
文件 107 2019-10-23 17:46 demo485\target\classes\me
文件 219 2019-10-23 17:46 demo485\target\classes\me
文件 914 2019-10-23 17:46 demo485\target\classes\me
文件 625 2019-10-23 17:46 demo485\target\test-classes\com\shenlan\demo485\AppTest.class
目录 0 2019-10-15 14:51 demo485\src\main\java\com\shenlan\demo485
目录 0 2019-10-14 17:04 demo485\src\test\java\com\shenlan\demo485
目录 0 2019-10-23 17:46 demo485\target\classes\me
............此处省略28个文件信息
- 上一篇:集码客户端.rar
- 下一篇:ISO11270-2014车道保持系统.zip
评论
共有 条评论