java读取虚拟串口数据
语言:java
虚拟串口工具:Virtual Serial Port Driver Pro 9.0,选择pairing模块下,点击add virtual paring按钮即可创建串口对,还无法自定义out和in。
串口助手:xcom2.6,在串口选择框中选择刚创建好的虚拟串口,使用默认设置,点击打开串口,输入框中输入数据,点击发送数据即可发送数据。如果接收端没有接收到数据(稍微等等),则重新选择串口,互换输入输出端。
相关组件:jSerialComm==2.9.3
1.导入maven依赖:
<dependency>
<groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId>
<version>[2.0.0,3.0.0)</version>
</dependency>
2.也可以直接导入jar包:把jSerialComm-2.9.3存入java项目的lib目录中,在IDEA下,选中jar包然后点击右键,选择add ad library,即可在代码中引用。
具体代码实现:
public void read(String portDescriptor) {
//portDescriptor= e.g., "/dev/ttyS0" or "COM3"
SerialPort[] serialPorts = SerialPort.getCommPorts();
//serialPorts[0]是接收端
SerialPort com3 = serialPorts[0];
com3.setParity(SerialPort.EVEN_PARITY);
com3.setFlowControl(SerialPort.FLOW_CONTROL_DISABLED);
boolean isOpened = com3.openPort();
if (isOpened) {
//基于事件监听
try {
Thread.sleep(1000);
SerialPort finalCom = com3;
//监听器监听串口数据变化
com3.addDataListener(new SerialPortDataListener() {
@Override
public int getListeningEvents() {
return SerialPort.LISTENING_EVENT_DATA_AVAILABLE;
}
@Override
public void serialEvent(SerialPortEvent serialPortEvent) {
if (serialPortEvent.getEventType() != SerialPort.LISTENING_EVENT_DATA_AVAILABLE) {
return;
}
while (finalCom.bytesAvailable() != 0) {
byte[] data = new byte[com3.bytesAvailable()];
int numRead = finalCom.readBytes(data, data.length);
System.out.println("the length of data: "+ numRead);
System.out.println(new String(data));
try {
Thread.sleep(2000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
java读取虚拟串口数据的更多相关文章
- 通过java读取HDFS的数据 (转)
原文链接:通过java读取HDFS的数据 通过JAVA直接读取HDFS中的时候,一定会用到FSDataInputStream类,通过FSDataInputStream以流的形式从HDFS读数据代码如下 ...
- java读取PHP接口数据的实现方法(四)
PHP文件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3 ...
- Java读取Execl表格数据
在前面提到用java代码新建一个Execl 表格并添加数据到表格中, 这次写了一个读取Execl表格数据并添加导数据库中的案列 给定对方一个Execl模板表格,如果导入的Execl表格和预订的表格不相 ...
- [PHP] java读取PHP接口数据
和安卓是一个道理,读取json数据 PHP文件: <?php class Test{ //日志路径 const LOG_PATH="E:\phpServer\Apache\logs\\ ...
- java读取excel文件数据导入mysql数据库
这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...
- JAVA读取XML文件数据
XML文档内容如下: <?xml version="1.0" encoding="UTF-8"?> <root> <field t ...
- java读取excel文件数据
package com.smp.server.Ctrl; import java.io.File;import java.io.FileInputStream;import java.io.FileN ...
- java读取excel获取数据写入到另外一个excel
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- Java读取lob格式数据
想要读出lob里面的图片数据,就要确认clob里面存储的是什么,一般情况下存储的base64的串串.所以就以base64为例,而Blob里面存储的大部分是图片数据,但也有xml内容数据. 1查询lob ...
- java 读取excel 将数据插入到数据库
import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Con ...
随机推荐
- HBase详解(01) - Hbase简介
HBase简介 定义:HBase是一种分布式.可扩展.支持海量数据存储的NoSQL数据库. 数据模型:逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列.但从HBase的底 ...
- python之路40 前端之 CSS 标签查询
表单标签的补充说明 基于form表单发送数据 1.用于获取用户数据的标签至少应该含有name属性 name属性相当于字典的键 用户输入的数据会被保存到标签的value属性中 value属性相当于字典的 ...
- 打包iOS App并上架到TestFlight测试
开发者账号 首先需要注册一个开发者账号,不然什么都免谈.在手机Apple Developer上注册给钱就行了,个人开发者一年688元. 打包App App开发好后,就可以通过XCode打包.打包前选好 ...
- 大数据实时多维OLAP分析数据库Apache Druid入门分享-上
@ 目录 概述 定义 MPP和Lambda补充说明 概述 特征 适用场景 不适用场景 横向对比 部署 单机部署 入门示例 概述 定义 Apache Druid 官网地址 https://druid.a ...
- super与this关键字图解-Java继承的三个特点
super与this关键字图解 父类空间优先于子类对象产生 在每次创建子类对象时,先初始化父类空间,再创建其子类对象本身.目的在于子类对象中包含了其对应的父类空 间,便可以包含其父类的成员,如果父类成 ...
- 【Redis场景拓展】秒杀问题-全局唯一ID生成策略
全局唯一ID 为什么要使用全局唯一ID: 当用户抢购时,就会生成订单并保存到订单表中,而订单表如果使用数据库自增ID就存在一些问题: 受单表数据量的限制 id的规律性太明显 场景分析一:如果我们的id ...
- Node.js 应用全链路追踪技术——全链路信息存储
作者:vivo 互联网前端团队- Yang Kun 本文是上篇文章<Node.js 应用全链路追踪技术--全链路信息获取>的后续.阅读完,再来看本文,效果会更佳哦. 本文主要介绍在Node ...
- tomcat8 性能优化参考
https://www.jianshu.com/p/c770c1e97531 tomcat8 性能优化参考
- 洛谷P1365 期望dp
题目描述 一个o/x序列的得分为其中每个o的极大连续子段长度的平方和,比如ooxxxxooooxxx,分数就是 \(2 \times 2 + 4 \times 4 = 4 +16=20.\) 现给定一 ...
- dev C++ 调试卡住/遇到endl函数卡住
今天调试一个程序,发现编译运行的时候可以正常运行,但是调试的时候总是在endl那里卡住 分享一个链接杀千刀的dev c++的不能单步调试的问题_老宁宁的博客-CSDN博客 #include<io ...