Java实现串口通信

Java 串口通信(RS232/485) Java 实现串口通信 RSR232 / RS485 并通过WebSocket与浏览器交互 阅读详情

本程序测试环境:

jdk版本:1.6   64位

rxtx for java版本:Windows 64位

下载rxtx,

第一步:把RXTXcomm.jar放在jdk的jdk/jre/lib/ext目录下

第二步:把rxtxParallel.dll、rxtxSerial.dll放在jdk/jre/bin目录下

第三步:把rxtxParallel.dll、rxtxSerial.dll放在jdk/bin目录下

第三步:复制以下代码并保存到jdk/bin/目录下,用Main.java作为文件名

public class Main {
	public static void main(String[] args) {
		java.lang.System.out.println("Hello World!");
		java.util.Enumeration enumeration = gnu.io.CommPortIdentifier.getPortIdentifiers();
		while (enumeration.hasMoreElements()) {
			java.lang.Object object = enumeration.nextElement();
			if (object instanceof gnu.io.CommPortIdentifier) {
				gnu.io.CommPortIdentifier commPortIdentifier = (gnu.io.CommPortIdentifier) object;
				java.lang.String name = commPortIdentifier.getName();
				java.lang.System.out.println(name);
			}
		}
		gnu.io.CommPortIdentifier commPortIdentifier = null;
		try {
			commPortIdentifier = gnu.io.CommPortIdentifier.getPortIdentifier("COM3");
		} catch (gnu.io.NoSuchPortException noSuchPortException) {
			noSuchPortException.printStackTrace();
		}
		if (commPortIdentifier != null) {
			if (commPortIdentifier.isCurrentlyOwned()) {
				java.lang.System.out.println("Error: Port is currently in use");
			} else {
				gnu.io.CommPort commPort = null;
				try {
					 commPort = commPortIdentifier.open("COMthree", 2000);
				} catch (gnu.io.PortInUseException portInUseException) {
					portInUseException.printStackTrace();
				}
				if (commPort instanceof gnu.io.SerialPort) {
					try {
						gnu.io.SerialPort serialPort = (gnu.io.SerialPort) commPort;
						serialPort.setSerialPortParams(57600, gnu.io.SerialPort.DATABITS_8, gnu.io.SerialPort.STOPBITS_1, gnu.io.SerialPort.PARITY_NONE);
						java.io.InputStream inputStream = serialPort.getInputStream();
						byte[] buffer = new byte[1024];
						int len = -1;
						while ((len = inputStream.read(buffer)) > -1) {
							java.lang.String receivedResult = new java.lang.String(buffer, 0, len);
							if (!receivedResult.equals("")) {
								java.lang.System.out.print(receivedResult);
							}
						}
					} catch (gnu.io.UnsupportedCommOperationException unsupoortedCommOperationException) {
						unsupoortedCommOperationException.printStackTrace();
					} catch (java.io.IOException ioException) {
						ioException.printStackTrace();
					}
				} else {
					java.lang.System.out.println("Error: Only serial ports are handled by this example");
				}
			}
		}
	}
}

第四步:打开cmd命令行,把工作目录切换到jdk的bin/目录下

第五步:运行这个命令(.\javac.exe Main.java)

第六步:运行这个命令(.\java.exe Main)

之后用串口助手发送信息就可以通信了

java实现上位机与下位机串口通信 串口通信是在工程应用中很常见。在上位机与下位机通讯过程中常通过有线的串口进行通信,在低速传输模式下串口通信得到广泛使用。在说个之前先来简单解释一下上位机与下位机的概念。上位机与下位机通常上位机指的是PC,下位机指的是单片机或者带微处理器的系统。下位机一般是将模拟信号经过AD采集将模拟量转换为数字量,下位机再经过数字信号处理以后将数字信号通过串口发送到上位机,相反上位机可以给下位机发送一些指令或者信息 阅读详情

相关推荐

使用Java实现简单串口通信

最近一门课要求编写一个上位机串口通信工具,我基于Java编写了一个带有图形界面的简单串口通信工具,下面详述一下过程,供大家参考 _ 一: 首先,你需要下载一个额外的支持Java串口通信操作的jar包,由于java.comm比较老了,而且不支持64位系统,这里推荐Rxtx这个jar包(32位/64位均支持)。 官方下载地址:http://fizzed.com/oss/rxtx-for-java (注...

xiaofeilong2016的博客 4011

java 串口读写 java.lang.NoClassDefFoundError: gnu/io/CommPortIdentifier 错误解决

我是用 rxtx-2.1-7-bins-r2.zip 文件来读写串口的,将代码加到自己RCP工程里,老是出现java.lang.NoClassDefFoundError: gnu/io/CommPortIdentifier错误, 折腾了一天,都没解决,后在RCP工程里,双击MANIFEST.MF文件,选择“RunTime”,在“ClassPaht”里增加“RXTXcomm.jar”文件,问题解

achirandliu的专栏 1万+

Java串口通信编程实战:轻松实现串口通信

首先,我们需要下载并安装Java的串口通信库,比如jSerialComm。在编写代码之前,我们需要在Java项目中导入所使用的串口通信库。具体步骤可能因所使用的库而异,但通常包括将库文件复制到项目的类路径中,并在代码中引入相关类。在编写代码之前,我们需要在Java项目中导入所使用的串口通信库。具体步骤可能因所使用的库而异,但通常包括将库文件复制到项目的类路径中,并在代码中引入相关类。在开始进行串口通信之前,我们需要查找计算机上可用的串口。在开始进行串口通信之前,我们需要查找计算机上可用的串口。

DevProPlus的博客 904

Could not initialize class gnu.io.CommPortIdentifier

解决办法,重新换成这里面的文件,重启tomcat就OK了 在windows上运行串口,是OK的 部署在linux服务器以后,就报Could not initialize class gnu.io.CommPortIdentifier错误

黄河涛涛h的博客 2784

Java程序实现Windows串口通信方法

本文还有配套的精品资源,点击获取 简介:本文探讨了在Java中实现Windows串口通信的两种方法:通过JNI调用Windows API和使用RXTX第三方库。JNI方法涉及编写本地代码和加载动态链接库,而RXTX库提供了简化的API以跨平台实现串口通信。文中以RXTX为例展示如何设置串口参数、监听数据事件以及发送和接收数据。同时,本文强调了正确配置JRE和系统路径的重要性...

weixin_33610780的博客 1530

rxtx最终版windows和linux.rar

有调用串口工具类SerialPortUtils,在Windows上运行调用串口所需要的文件RXTXcomm.jar和rxtxSerial.dll。以及在linux上运行的librxtxSerial64.so librxtxSerial.so和rt.jar和RXTXcomm.jar。以上都可以运行正常

Java RXTX 实现串口通信

目录 串口(通信)概述 串口调试助手 RXTX 下载与依赖 Java 开发实战 串口(通信)概述 1、串口通信是指串口按位(bit)发送和接收字节 2、串口通信可以在使用一根线发送数据的同时用另一根线接收数据 3、串口通信常用的协议包括 RS-232、RS-422 和 RS-485 4、串口通信,控制线长度可达1200米 5、串口通信最重要的参数是波特率、数据位、停止位和奇偶...

蚩尤后裔-汪茂雄 1万+

rxtx-2.1.7.jar串口通信gnu.io包不存在问题

串口通信gnu.io包不存在,这里提供jar包,下载导入即可,亲测可用

java实现串口通信及开发

串口通信是指两个有串口通信协议的设备间以串行的方式互相传输数据。一般指的是RS232口。  串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使

迪迦奥特曼的博客 2997

Java写了一个现代且功能强大的串口助手软件.zip

一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功能强大的串口助手软件 一个现代且功

库卡C4控制柜首次上电

本文详细介绍了如何使新购的库卡机器人(以KRC4为例)达到正常运行状态。首先,必须正确连接机器人尾部和控制柜底部的各种线缆,包括动力线缆、编码器线、SmartPad线和安全回路线缆等。特别强调,电源线和蓄电池线的正确连接至关重要,避免硬插以防损坏。此外,机器人与控制柜之间需连接地线以防止漏电。文章还提到,开机前需检查电机保护器开关,并确保所有线路连接正确。开机后,需提升用户权限至安全维护员级别,通过系统配置激活安全相关通讯参数。最后,文章详细解释了X11安全回路的接线方式,强调双通道信号的重要性,并提醒不同

2202_75959322的博客 1838

java 串口通信实现流程

原文地址:java 串口通信实现流程 -------------------------------------------------------------------------------- 1、下载64位rxtx for java 链接:http://fizzed.com/oss/rxtx-for-java 2、下载下来的包解压后按照说明放到JAVA_HOME即JAVA的安装路径下...

我惠依旧的博客 5777

【每天一个知识点】多视图子空间聚类(Multi-view Subspace Clustering)

本文深入解析了多视图子空间聚类技术,这是一种处理多源异构数据的先进方法。它通过融合多个数据视图(如文本、图像、网络结构)的共识与互补信息,学习统一的潜在子空间表示,从而获得比单一视图更鲁棒、准确的聚类结果。文章详细阐述了其核心思想、主流技术流派(如图融合、共同潜在子空间、张量及深度学习方法),并提供了Python实战代码与调优经验,适用于跨模态检索、生物信息学等多领域复杂数据分析。

weixin_29065015的博客 459

Java Spring Boot实现物联网设备串口通信

本文实现了利用Java语言编写程序实现物联网设备串口通讯发送数据并且接口数据功能

qq_40018541的博客 1万+

国产化办公新选择:在银河麒麟V10上部署ToDesk远程桌面

本文详细介绍了在国产操作系统银河麒麟V10上部署ToDesk远程桌面的完整指南。作为国产远程控制工具,ToDesk在连接速度、系统适配性和用户体验方面表现优异,特别适合国产化办公场景。文章包含X86和ARM架构的安装步骤、常见问题排查及性能优化技巧,帮助用户高效实现远程办公。

weixin_33742618的博客 233

微信小程序导航栏滑动一定距离后固定到顶部

接上一篇文章的内容,通常在一个页面中部会有一个导航栏查看不同的内容,这篇文章旨在实现在页面下滑的过程中导航栏自动固定到顶部以便我们阅读过程中的切换。 下滑一段距离后自动固定到顶部 首先,思考这个功能应该是怎么实现的: 在页面下滑的过程中,我们希望系统应当能识别下滑了多少距离,当原本的导航栏逐渐被遮住以后(遮住意味着下滑了特定距离),触发这个功能,执行另一种样式,将导航栏固定在页面顶端,同时如果我们将页面往上滑,系统能识别到原来的导航栏能露出来了(即距离顶端的高度小于一个特定的值),这时候又执行最初的样式

Oblivision_Geek的博客 4031

使用java实现串口通信

很老套的代码,但是却费时很久,找到过很多参考代码,但是要不然和本身项目不太符合,要不然就运行不出来,报串口找不到的错误,也还因为jar包整了很久,去各种百度解决办法才真正实现使用java实现串口通信。           1.  jar包的导入                    1.1  如果你的电脑安装的是32位的JDK,那么有两种解决方案                       

AquariusSandy的博客 9550

手把手教你学Simulink——基于核能发电系统的场景实例:核电站汽轮机与发电机协调控制仿真

在核电机组中,汽轮机-发电机系统是将核能最终转化为电能的关键环节。与火电机组不同,核反应堆的热惯性大、功率调节慢,因此汽轮机的控制策略需与反应堆特性相匹配,实现安全、稳定、高效的能量转换。维持发电机输出功率/频率稳定(响应电网调度)调节汽轮机进汽压力(匹配一回路蒸汽供应)实现“堆-机协调控制”保障机组在启停、变负荷、甩负荷等工况下的安全性本教程将带你使用构建一个核电站汽轮机与发电机协调控制系统汽轮机调速系统(调门控制)建模发电机与电网接口建模(同步机)

MHD0815的博客 212

Java 串口通信—收发,监听数据(代码实现)

Java 实现串口通信—收发,监听数据

白白白鲤鱼的博客 4268

如何通过插值法计算cell delay?

插值法的公式:Z = A + B * X + C * Y + D * X * Y,其中X为input transition,Y为output load,A、B、C、D为四个参数,Z为delay值。从而得到Z=-0.086176 + 11.5493 * x + 0.65917 * y - 24.859 * x * y,当X=0.014930、Y=0.296311时,得到Z=0.1716ns。从而得到A = 0.08075,B = 3.47539,C = 0.04008,D = 0.01648。

芯冰乐 1076

基于STM32、HAL库的ZMOD4510AI4R气体传感器驱动程序设计

ZMOD4510AI4R是Renesas公司推出的一款数字空气质量传感器,主要用于检测臭氧(O₃)和总挥发性有机化合物(TVOC)浓度。(status & 0x80)) // 检查数据就绪位。// 等待测量完成 (实际应用中应该使用非阻塞方式)// 转换为ppb (简化转换,实际应根据传感器文档校准)* @param hzmod: ZMOD4510句柄。* @param tvoc: TVOC浓度(ppb)* @param ozone: 臭氧浓度(ppb)* @param hi2c: I2C句柄。

corlin6688的博客 311

java实现串口通信 485协议

最新版程序请查看 《使用Java实现串口通信(二)》 1.介绍 使用Java实现的串口通信程序,支持十六进制数据的发送与接收。 源码下载地址:http://download.youkuaiyun.com/download/kong_gu_you_lan/10015803 效果图如下: 2.RXTXcomm Java串口通信依赖的j...

weixin_44669831的博客 4195

ENS160传感器原理图设计,已量产(空气质量传感器)

ENS160 是一款集成式数字空气质量传感器,核心优势源于 “MEMS 传感元件 + 内置微处理器” 的架构。

不脱发的程序猿 570

Java串口通信全套完整代码:轻松实现串口通信功能

Java串口通信全套完整代码:轻松实现串口通信功能 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在嵌入式系统和工业控制领域,串口通信是一种常见的通信方式。今天,我们将为您介绍一个开源项目——Java串口通信全套完整代码,这是一套利用Java语言编写的串口通信解决方案。该代码经过严格测试,确保无错误,能够帮助开发者快速搭建并实现串口通信功能。 项目技术分析 核心功能 ...

gitblog_06723的博客 671

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: SpringBoot获取jar文件所在目录
下一篇: 记一次Linux设置firewall-cmd(防火墙)
JianfeiMa
博客等级 码龄10年 61粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值