Java 串口 mysql_java串口通讯
使用java进行串口通信确实不是串口通讯操作的主流方法,另外写好的的java程序无法随意的迁移。不过对熟悉java的同学确实挺有帮助,下面是我使用java语言进行串口通讯的过程。
1 usb转串口安装。
2 jar包的安装。
3 java代码的实现。
usb转串口的安装。
一般把串口线插上电脑就会提示安装驱动,在网上下一个串口驱动就会成功了。可我的电脑却怎么也成功不了,在网上找了各种方法就是不行(我的系统是win7)。更有不靠谱的说法是重装系统。总之试变了网上的驱动,还用什么驱动精灵之类的都把还是没有成功。打开设备管理器,usb-serial controller总是有×××的叹号。
我的解决方法。
运行-》输入hdwwiz-》下一步选择安装我手动列表中选择硬件(高级)-》下一步选择端口(com和lpt)-》下一步选择public-》然后选择第一个public ............->再点击下一步进行安装。
最后终于成功了。
安装jar包
安装jar包和我们平常的引入jar包不太一样。附件是用到的jar包。
首先把RXTXcomm.jar放入所用jre的lib目录下,把rxtxSerial.dll放到jre的bin目录下就可以了。
代码实现
主要是两步第一步查到所使用的com口。第二步对串口进行监听。
具体的代码如下:
import java.io.*;
import java.util.*;
import test.FeelTheBase;
import test.SimpleReadA;
import gnu.io.*;
public class SimpleRead implements SerialPortEventListener { // SerialPortEventListener
// 监听器,我的理解是独立开辟一个线程监听串口数据
public CommPortIdentifier portId; // 串口通信管理类
static Enumeration portList; // 已经连接上的端口的枚举
public InputStream inputStream; // 从串口来的输入流
public InputStreamReader streamReader;
public OutputStream outputStream;// 向串口输出的流
public OutputStreamWriter streamwriter;
public SerialPort serialPort; // 串口的引用
public void init() {
try {
serialPort = (SerialPort) portId.open(s, 2000);// 打开串口名字为myapp,延迟为2毫秒
inputStream = serialPort.getInputStream();
outputStream = serialPort.getOutputStream();
serialPort.addEventListener(this); // 给当前串口天加一个监听器
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
catch (TooManyListenersException e) {
}
serialPort.notifyOnDataAvailable(true); // 当有数据时通知
try {
serialPort.setSerialPortParams(57600, SerialPort.DATABITS_8, // 设置串口读写参数
SerialPort.STOPBITS_1, SerialPort.PARITY_ODD);
} catch (UnsupportedCommOperationException e) {
}
}
public void serialEvent(SerialPortEvent event) {// SerialPortEventListener
// 的方法,监听的时候会不断执行
switch (event.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:// 当有可用数据时读取数据,并且给串口返回数据
try {
while (inputStream.available() > 0) {
byte[] by = new byte[inputStream.available()];
inputStream.read(by);
System.out.println(by);//获得的数据
}
} catch (IOException e) {
}
break;
}
}
public static void main(String[] args) {
SimpleRead com3 = new SimpleRead();
try {
portList = CommPortIdentifier.getPortIdentifiers(); // 得到当前连接上的端口
while (portList.hasMoreElements()) {
CommPortIdentifier p = (CommPortIdentifier) portList
.nextElement();
if (p.getPortType() == CommPortIdentifier.PORT_SERIAL) {// 判断如果端口类型是串口
if (p.getName().equals("COM25")) { // 判断如果COM3端口已经启动就连接
com3.setCom(p);
com3.setOther(com5);
System.out.println(p.getName());
}
}
}
com3.init(); // 实例一个;
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java 串口 mysql_java串口通讯相关推荐
- java串口发送十六进制数,本文实例为大家分享了Java实现串口通信的具体代码,供大家参考,具体内容如下1.介绍使用Java实现的串口通信程序,支持十六进制数据的发送与接收。 源码:...
本文实例为大家分享了Java实现串口通信的具体代码,供大家参考,具体内容如下 1.介绍 使用Java实现的串口通信程序,支持十六进制数据的发送与接收. 源码:SerialPortDemo 效果图如下: ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数 ...
- java 怎么向串口发送指令_idea ssm项目java程序使用十六进制rxtx包向串口发送指令的方法...
1.前提 idea ssm项目环境要配好,这里就不多赘述了,自己配好 2.下载配置rxtx包 官网下载:http://rxtx.qbang.org/wiki/index.php/Download 根据 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分
1.1 架构结构图 1.1.1 层次示意图 1.1.2 模型对象示意图 1.2 IO管理器 IO管理器是对串口和网络通讯链路的管理.调度.针对串口和网络通讯链路的特点,在IO管 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】五.二次开发图形显示界面
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 图形显示接口的作用 用于显示采集终端设备的数据,可以把不同类型设备的数据以多种形式集成显示在不 ...
- Java程序与串口的通信实现及调试
下面为大家介绍一下小编最近一个项目中,牵扯到与串口通信部分的实现及调试. 串口通信原理 串口通信指串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数 ...
- 三菱FX系列源码,C#上位机FX系列源码,串口485.232通讯
三菱FX系列源码,C#上位机FX系列源码,串口485.232通讯,可读X/Y/M/S/D,可写Y/M/S/D,FX系列,有备注. 新增仿真FX3U仿真器和上位机通信,全程不需要实物. 拿回去可编辑,源 ...
- ESP32 (UART 485通讯)-串口之485通讯(3)
提示:本博客作为学习笔记,有错误的地方希望指正 文章目录 一.ESP32串口介绍 二.硬件设计 三.实现代码 四.串口实验演示结果 五.ESP32串口函数API 5.1.uart_types.h文件中 ...
- linux如何设置串口参数,串口通信的参数如何设置
串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.一般完成这种功能的电路,我们称为串行接口电路. 串口通信程 ...
最新文章
- python pdf处理 图片_python PDF文件合并、图片处理
- 《Flume日志收集与MapReduce模式》一2.2 Flume配置文件概览
- 39 网络相关函数(七)——live555源码阅读(四)网络
- 汇编指令的学习2——常用的ARM指令
- Excel转html
- C#下载文件和将文件转换为数据流下载的示例
- [zt]OpenCV2.1.0的安装
- 分享用Adobe Air向iOS移植游戏的经验
- Linux系统下Apache的安装、启动等初级操作
- 图片验证,滑块验证解决
- linux里的tree 命令,Linux中tree命令起什么作用呢?
- 手机常见分辨率及代表机型
- 团队现场编程实战(抽奖系统)
- Home Assistant 家庭助理安装
- 离线安装selenium
- Newton 3 牛顿动力学插件 - 主体属性面板
- 目标跟踪系列三:ECO: Efficient Convolution Operators for Tracking(2016年11月)
- 订单紧急变动?交期无法确定?APS了解一下
- 光猫灯显示正常但是报651错误解决办法
- CodeM2018 初赛A轮 第1,2题
热门文章
- python vars name报错_Python vars()全局名称错误
- mongotemplate模糊查_java 中 mongodb的各种操作 模糊查询 精确查询 等等
- 数据资产标准研究进展与建议
- 【Python】处理 TypeError: ‘FirefoxWebElement‘ object is not iterable
- 【数据结构与算法】图结构最小生成树Kruskal算法的Java实现
- Python中eval与exec的使用及区别
- 大牛带你深入解读HashMap
- int和Integer有什么区别?
- SpringHttpInvoker解析2-服务端实现
- PHP|Yii2下通过插件进行图片处理(亲测可用)