java rxtx下载_1、下载64位rxtx for java 链接:http://fizzed.com/oss/rxtx-for-java2、下载下来的包解压后按照说明放到JAV...
1、下载64位rxtx for java 链接:http://fizzed.com/oss/rxtx-for-java
2、下载下来的包解压后按照说明放到JAVA_HOME即JAVA的安装路径下面去
3、在maven的pom.xml下添加
org.rxtx
rxtx
2.1.7
4、串口API
CommPort:端口的抽象类
CommPortIdentifier:对串口访问和控制的核心类
SerialPort:通过它可以直接对串口进行读、写及设置工作
5、列出本机可用端口
Enumeration em = CommPortIdentifier.getPortIdentifiers();
while (em.hasMoreElements()) {
String name = em.nextElement().getName();
System.out.println(name);
}
6、一般步骤:打开串口得到串口对象==》设置参数==》对串口进行读写==》关闭串口,其中对串口进行读操作比较常用
//打开串口
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier("COM4");//COM4是串口名字
CommPort commPort = portIdentifier.open("COM4", 2000); //2000是打开超时时间
serialPort = (SerialPort) commPort;
//设置参数(包括波特率,输入/输出流控制,数据位数,停止位和齐偶校验)
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
//监听串口事件
serialPort.addEventListener(new Abc()); //Abc是实现SerialPortEventListener接口的类,具体读操作在里面进行
// 设置当有数据到达时唤醒监听接收线程
serialPort.notifyOnDataAvailable(true);
// 设置当通信中断时唤醒中断线程
serialPort.notifyOnBreakInterrupt(true);
// in.close(); //关闭串口
Abc类内容,即读串口的具体操作:
public class Abc implements SerialPortEventListener {
public void serialEvent(SerialPortEvent arg0) {
// TODO Auto-generated method stub
//对以下内容进行判断并操作
/*
BI -通讯中断
CD -载波检测
CTS -清除发送
DATA_AVAILABLE -有数据到达
DSR -数据设备准备好
FE -帧错误
OE -溢位错误
OUTPUT_BUFFER_EMPTY -输出缓冲区已清空
PE -奇偶校验错
RI - 振铃指示
*/
//switch多个,if单个
if (arg0.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
try {
InputStream in = null;
byte[] bytes = null;
in = App.serialPort.getInputStream();
int bufflenth = in.available();
while (bufflenth != 0) {
// 初始化byte数组为buffer中数据的长度
bytes = new byte[bufflenth];
in.read(bytes);
System.out.println(new String(bytes));
bufflenth = in.available();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
写操作:
OutputStream out = serialPort.getOutputStream();
out.write(data); //byte[] data;
out.flush();
总结
以上就是本文关于java 串口通信实现流程示例的全部内容,希望对大家有所帮助。如有问题可以随时留言,期待您的宝贵意见。
java rxtx下载_1、下载64位rxtx for java 链接:http://fizzed.com/oss/rxtx-for-java2、下载下来的包解压后按照说明放到JAV...相关推荐
- java 1.9环境配置_jdk1.9下载|jdk1.9 64位下载官方版 附安装配置教程 - 欧普软件下载...
jdk1.9刚发布,小编为您带来的最新版本下载,新增简化进程api.代码可以分段缓存.增加轻量级json api等功能,为您的java开发提供更多的便利,此版本是64位系统用户打造的,需要的朋友赶快来 ...
- windows远程桌面管理工具下载_vnc viewer 64位下载,3步实现vnc viewer 64位下载
因为工作原因,所以经常会使用vnc viewer软件,但由于电脑版本问题,所以很多时候都需要下载64位vnc viewer软件,那如何下载vnc viewer 64位软件呢?现在,让小编教你如何3步实 ...
- python电脑下载教程-电脑64位怎么下载python
电脑64位怎么下载python? 1. 打开python下载链接https://www.python.org/downloads/,点击自己想要的版本. 2. 我想下载python最新版本3.7.4, ...
- php libmcrypt.dll下载,libmcrypt.dll 64位下载|
libmcrypt.dll是一个重要的dll文件,有网友说下载的php没有libmcrypt.dll,文件怎么也打不开!不必担心,只是php中缺少libmcrypt.dll文件,重新下载一个libmc ...
- 在Windows 7 Ultimate 64位上安装Java
Recently I bought a new desktop system and installed Windows 7 Ultimate 64-bit on it. Being a Java D ...
- 64位JVM的Java对象头详解
关注"Java艺术"一起来充电吧! 我们编写一个Java类,编译后会生成.class文件,当类加载器将class文件加载到jvm时,会生成一个Klass类型的对象(c++),称为类 ...
- [Java JVM] Hotspot GC研究- 64位引用指针压缩技术
为什么需要指针压缩 在上一篇文章 [Java JVM] Hotspot GC研究- 开篇&对象内存布局 中介绍对象内存布局时, 曾提到过, 由于在64位CPU下, 指针的宽度是64位的, 而实 ...
- 3.在slave1机器下载3个安装包解压后,复制给master机器
务必:从机器slave1或者slave2中下载下面三个安装包 一.在slave1机器上下载下面三个安装包 jdk-8u111-Linux-x64.tar.gz 下载地址:http://www.orac ...
- jdk安装包解压后如何安装(jdk下载安装)
1.找到"解压到"按钮,一般解压到压缩包所在的位置就行,点"确定"2.解压后,找到这个文件夹,并在里面找到"**.setup"的文件(一般文 ...
- 我下载的mysql解压后没有安装_mysql 解压版安装配置方法教程
1.首先,你要下载MySQL解压版,下载地址 虽然mysql都有8.0了,但这里我要安装的是mysql5.7,其他版本方法类似 2.解压安装包,根据自己的喜好选择路径,我选择的路径是D盘,因此MySQ ...
最新文章
- 使php支持mbstring库以及使用
- python常用数据结构_Python入门: 数据结构大汇总
- 不重启的情况下linux系统安装中文包生效
- (转载) Linux IO模式及 select、poll、epoll详解
- mongodb身份验证_MongoDB身份验证
- 8-18-Exercise
- 操作 mysql 不生成日志_详解MySQL的日志
- 错误: 非法字符: ‘\ufeff‘ 解决方案
- linux 永久添加路由表,Linux 添加永久静态路由的方法
- STDN:Scale-Transferrable Object Detection 论文解析
- android apk结构,APK文件结构详解
- Boost.Asio的使用技巧
- 什么是鸭子类型(duck typing)
- Kali学习 | 无线渗透:7.5 Gerix 破解 WEP
- go IO操作-文件读
- LINUX系统开机后出现assuming drive cache:write through的办法
- 简述计算机程序执行过程,计算机程序的执行过程
- 林亦杉厦门大学计算机学院,挥别厦大,点燃未来-厦门大学计算机科学系
- response.reset() 与response.resetbuffer使用场景
- HDU 2544 最短路(最短路入门)
热门文章
- win7下强制结束进程的cmd命令
- MATLAB 符号函数变量替换为常量
- rs485全双工中只接一组_RS485通讯的正确接线方式
- Java zip文件加注释_java.util.zip.ZipEntry.setComment(String comment)方法示例
- 基于PYNQ-Z2的手写数字识别卷积加速器设计【持续更新】
- gauscoor软件怎么用_高斯坐标经纬度转换器
- AutoCad 批量打印
- AUTOCAD Study
- Eastfax使用技巧
- 解决matlab2019b中文乱码问题