Java串口通信

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

copy from -- http://www.linuxidc.com/Linux/2012-07/66713.htm

之前在搞关于Java串口通信的东西,虽然最后因为硬件的原因没有试验成功,但在这里分享一下经验,简单记录一下。
普及一下串口通信:

串口通信(Serial Communication), 是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
通俗的说,就是利用电脑上的串口来实现打电话或者发短信等等。

首先要下载一个javacomm20-win32.zip 。解压之后会有好多文件,以及他的一些samples,选择其中的三个,javax.comm.properties,win32com.dll,comm.jar。
然后:
1.把javax.comm.properties文件拷贝到Java运行时环境的lib目录中,即:
               %JAVA_HOME%\lib\javax.comm.properties
                %JAVA_HOME%\jre\lib\javax.comm.properties
2.把win32com.dll拷贝到C:\windows\system32\ 和 %JAVA_HOME%\jre\bin\下
3.把comm.jar放到Java运行时环境的lib目录中,即%JAVA_HOME%\lib\comm.jar
4.在"环境变量"的CLASSPATH中添加comm.jar,如:%JAVA_HOME%\lib\comm.jar;

至于第二步的拷贝到system32下边,这个可以根据实际情况来看,我电脑上没有拷贝,一样能够成功,同样第四步也一样,如果运行不通过,那就是找不到,就要添加classpath了,如果能通过,就不需要麻烦了。

以上配置工作弄好之后,就可以写程序了,在Eclipse里导入comm.jar,剩下的就是程序问题了,下边列出一个简单的小程序。

列出电脑上所有可用串口小程序:

Enumeration en = CommPortIdentifier.getPortIdentifiers();
CommPortIdentifier portId;
while (en.hasMoreElements())
{
portId = (CommPortIdentifier) en.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
System.out.println(portId.getName());
}
}

以上代码可以列出电脑上所有的可用串口,前提是电脑上是有串口的,如果没有的话,会出现异常,配置就会出错,但是有的时候上边这些也会异常,之前也是弄了好久没有解决掉,后来试验了很多次才发现是因为需要驱动程序,但有的电脑需要,有的不需要,视情况而定。

CommDriver cd=(CommDriver)Class.forName( "com.sun.comm.Win32Driver" ).newInstance();
cd.initialize();

这是驱动程序,但必须针对的是windows系统,然后加这个程序在串口程序前边,就可以正常运行了。
如果能正常列出串口,那么编写串口程序就指日可待了。

这只是一个初步了解的贴,如果想详细了解的话,可以去网上详细查看一下,也可以找我来讨论,我写了一个串口之间发送数据的程序,利用串口监听工具能够监听到数据了,但是还没有两个机器测试。由于代码比较长,这里就不往上面粘贴了,如果谁有兴趣,可以来我这拷贝一下。

这个是简单了解一下,如果有时间了我会写一个比较详细的文档,与大家分享一下,如果谁有比较好的建议,也可以提出来。

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

相关推荐

掌握Java串口通信:从基础到实战

串口通信是计算机与外部设备之间进行数据交换的一种方式,特别是在嵌入式系统和工业自动化领域中扮演着重要角色。在Java中,通过使用RXTX等库,可以实现对串口设备的读写操作,从而实现数据的有效传输。项目中几个关键的类和方法决定了SerialPortDemo的功能和结构:SerialPort: 这是主要的串口通信类,提供了打开串口、配置串口参数、读写数据等核心功能。: 可能是一个管理类,用于管理多个串口通信实例或统一的通信策略。

weixin_35433448的博客 1197

关于Java串口通信

之前在搞关于Java串口通信的东西,虽然最后因为硬件的原因没有试验成功,但在这里分享一下经验,简单记录一下。 普及一下串口通信: 串口通信(Serial Communication), 是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。 通俗的说,就是利用电脑上的串口

Husc2009的专栏 1620

安装keil5(MDK)及导入pack包教程

首先说明的是我安装的Keil版本为Keil V5.29.0.0 1、安装软件 右键管理员权限运行安装包 设置安装路径以及pack的存放路径 随意输入First Name和E-mail 安装驱动 完成软件安装,然后可以先关闭弹出的Pack Install(一会再添加) 2、激活一下软件 打开桌面的Keil File → License Management(我之前注册过了) 右...

hrx-@@ 10万+

Java串口通信详解

 序言说到开源,恐怕很少有人不挑大指称赞。学生通过开源代码学到了知识,程序员通过开源类库获得了别人的成功经验及能够按时完成手头的工程,商家通过开源软件赚到了钱……,总之是皆大欢喜。然而开源软件或类库的首要缺点就是大多缺乏详细的说明文档和使用的例子,或者就是软件代码随便你用,就是文档,例子和后期服务收钱。这也难怪,毕竟就像某个著名NBA球员说的那样:“我还要养家,所以千万美元以下的合同别

薛笛的专栏 8万+

真双口RAM---Quartus与Vivado开发环境区别对比

2、写和写冲突:表示两个端口写使能同时有效且写地址相同,此时需要关断一个写,把两个写端口都需要更新的值处理到一个写端口上面,任何的DP RAM 都不支持写和写冲突。以上述直方图统计使用为例,博主在仿真过程中发现,vivado真双口RAM--B端口读写延迟2个clk;1、读和写冲突:如果读和写同时有效,且读和写是同一个地址时,发生RAM读写冲突,此时会把最新的写数据直接赋给读数据,称为写穿通到读。

weixin_54470733的博客 3582

ROS新手必看:5分钟搞定URDF小车建模(附Rviz可视化调试技巧)

本文为ROS新手提供了快速构建URDF机器人模型的实战指南。通过一个完整的两轮差速小车建模案例,详细解析了URDF的核心语法、Rviz可视化调试技巧以及常见问题排查方法,帮助初学者快速掌握ROS机器人建模与可视化调试的核心技能。

weixin_29079643的博客 250

Java串口编程:串口数据的发送与监听读取

  本人在近期的开发工作中遇到向串口发送设备控制指令的需求,遂对串口编程进行了略微深入的钻研,在此对自己的一些心得和经验进行总结,以供大家参考与交流。 串口介绍   串口全称为串行接口,一般指COM接口,是采用串行通信方式的扩展接口。其特点是数据位的传送按位顺序进行,最少只需一根传输线即可完成,成本低但传送速度慢。由于串口(COM)不支持热插拔及传输速率较低,目前部分新主板和大部分便携电脑...

都说匠人如神 6万+

基于Simulink进行步进电机的重复控制仿真建模

目的:通过引入一个周期延迟环节来补偿系统的周期性误差,从而提高系统对周期性参考信号或扰动的跟踪性能。方法内部模型原理:在控制器中嵌入一个与周期性信号相关的模型(例如周期延迟环节),以实现对周期性误差的零稳态误差控制。滤波器设计:为了避免高频噪声放大,通常会在重复控制器中加入低通滤波器。优势对周期性信号具有良好的跟踪性能。不需要精确的数学模型即可实现高性能控制。挑战:需要合理设计重复控制器的参数以避免系统不稳定。

MHD0815的博客 382

Java实现串口通信

Java实现串口通信串口通信MODBUSJava实现串口通信RXTX串口通信开源框架(JAVA)获取设备可以串口打开指定串口设置监听往串口中发送数据从串口中读取数据关闭串口调试工具(自行百度)注意 串口通信 所谓串口,指的是串行通信接口(com),区别于并行通信,一次性可传输8位数据,不会发生数据位序混乱,但是比并行通信传输时间长得多,可以双向通信,主要用于设备与设备之间的通信,常用的主要有两类 1.RS232(一对一数据传输,适合本地设备之间的通信) 2.RS485(一对多数据传输,适合远程设备之间的通信

m0_38110240的博客 8470

电子硬件仿真:设计一个频率范围为10k—50k的带通滤波器

带通滤波器是一种常用的滤波器类型,具有选择特定频率范围内信号的能力,并在该范围内提供一定的增益。它允许通过一定范围内的频率信号,并在该范围内提供一定的增益,同时在该范围之外的频率上提供较高的衰减。这意味着在通带内(10kHz至50kHz),滤波器的增益应为10dB,而在每个十倍频的频率点上,滤波器的增益应降低40dB。设计滤波器:使用滤波器设计工具(如MATLAB、Python的scipy库、Tina软件等),根据选定的滤波器类型(例如巴特沃斯滤波器),中心频率和通带宽度,设计一个4阶带通滤波器。

走向CTO的路上... 579

cuRobo 入门教程(二)基于CUDA的机器人运动规划加速库

cuRobo是一款基于CUDA加速的机器人算法库,提供正向/逆向运动学、碰撞检测、数值优化等核心功能,支持在NVIDIA Jetson Orin等平台上实现毫秒级运动规划。该库创新性地采用并行轨迹优化技术,结合nvblox工具实现深度摄像头避障功能,并通过多层ESDF结构处理动态障碍物。性能测试显示,在RTX 6000 Ada显卡上可实现99.85%的成功率,平均规划时间仅39毫秒。cuRobo还提供Python API支持神经网络集成,并具备批量环境处理能力,特别适用于工业机器人应用场景。最新版本通过算法

2506_90492529的博客 1303

java 串口数据长度_移植Modbus到STM32F103(4):串口数据长度和校验的支持

先说数据位,官方宣称STM32F103支持8位和9位数据位,但因为其把校验位也算为数据位,所以其实能支持的是带校验位的7位、8位数据位和不带校验位的8位、9位数据位。所以只要在串口初始化中做如下判断即可:if ( ( ucDataBits == 7 ) && ( eParity != MB_PAR_NONE ) ){USART_InitStructure.USART_WordLen...

weixin_39771260的博客 241

Python 爬虫实战:抓取应届生求职网校招岗位信息,助力学子就业

应届生求职网作为国内知名的招聘平台,汇聚了大量企业的校招岗位信息。了解这些岗位信息,对于应届毕业生制定求职策略、企业制定招聘计划以及相关就业市场分析等都具有重要意义。因此,本文将深入探讨如何运用 Python 爬虫技术从应届生求职网平台抓取校招岗位信息,为应届毕业生提供有益的就业信息支持。本文深入探究了利用 Python 爬虫技术从应届生求职网平台抓取校招岗位信息的全流程。从前期的环境搭建、模拟登录,到核心的数据抓取、存储,再到后续的数据分析与可视化,都详细展开讲解并提供代码支持。

u014481728的博客 1301

java的串口通信

一、实验目的 (1)了解串口的通信方式。 (2)掌握串口通信的原理,了解串口通信的编程的初步概念和相应函数,掌握一个具体开 发平台下的串口编程。 二、实验内容 这一部分将是我们的重点,要与串口通信首先要在项目添加RXTXcomm.jar包(放在项目中的lib目录下,并添加到build Path中);另外,还需要将解压后的rxtxParallel.dll和rxtxSe...

从小白蜕变为强者! 6480

基于YOLOv8深度学习架构的智能农业巡检小车系统—面向农作物与杂草实时精准识别的创新实践

本研究设计并实现了一套基于YOLOv8的智能农业巡检小车系统,解决农田中农作物与杂草的精准识别与追踪问题。系统采用改进YOLOv8-RGCSPELAN-ECA-AFPN模型,融合ECA注意力机制与AFPN多尺度特征融合结构,提升复杂环境下的检测精度。硬件以树莓派4B为核心,集成摄像头、传感器与电机模块,具备避障、循迹与自主导航功能。移动端基于Android部署NCNN推理引擎,实现模型高效移植与实时检测。

Stara-AI的博客 1425

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java实现串口通信

java实现串口通信 1.搭建串口通信开发环境 1.1.    下载串口通信支持库 到SUN网站下载 javacomm20-win32.zip 图1 javacomm20-win32目录结构图 打开图1中的Readme.html,进入Installation Instructions and Platform Specifi

爱清清的专栏 4823

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JAVA串口通信开发

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JAVA串口通信开发前言一、项目背景二、实际开发1.引入库2.串口通信工具类3.数据解析总结 前言 最近几个月一直在接触串口,与硬件打交道,还是学到了不少之前没听过的东西,特此记录一下,其中不免有语焉不详或一知半解的地方,欢迎各位指教。 提示:以下是本篇文章正文内容,下面案例可供参考 一、项目背景 首先说串口是什么,百度上说串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (

weixin_41969980的博客 8729

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

使用Java实现串口通信

1.介绍使用Java实现的串口通信程序,支持十六进制数据的发送与接收。 效果图如下: 2.RXTXcommJava串口通信依赖的jar包RXTXcomm.jar 下载地址:http://download.youkuaiyun.com/detail/kong_gu_you_lan/9611334内含32位与64位版本 使用方法: 拷贝 RXTXcomm.jar 到 JAVA_HOME\jre\lib\e

YangLe 5万+

使用Java实现简单串口通信

JOptionPane.showMessageDialog(null, "与串口设备通讯中断", "错误", JOptionPane.INFORMATION_MESSAGE);JOptionPane.showMessageDialog(null, err, "错误", JOptionPane.INFORMATION_MESSAGE);JOptionPane.showMessageDialog(null, err, "错误", JOptionPane.INFORMATION_MESSAGE);

gw的博客 2088

java c 串口通信_基于C语言的java串口通信程序

目录1.前言2.windows  串口通信API3.JAVA-JNI  java程序调用C++程序4.C/C++封装  动态运行库一、前言写这个博客主要是因为自己想用java写一个小小的后端服务器,其中要处理由51单片机传送来的一些数据。单片机的数据由USB转串口发送至上位机,要处理这些数据,就会用到windows提供一些API(Application Programming Interface,...

weixin_42506647的博客 493

基于Java的串口通信

现在一般的电脑都没有串口端口的了,所以还是用虚拟的串口来做测试吧。 我们用 VSPD(Virtual Serial Port Driver) 这个软件建立两个虚拟串口,COM2和COM3,名字随便起,VSPD对虚拟串口的序号没有限制,理论上可以创建无数个。 串口通信类如下: package org.serial;    import java.io.BufferedInput

H1Y2R3的专栏 959

java串口通信

java串口通信API说明 java串口通信      Java提供了 CommunicationAPI(包含于javax.comm包中)用于通过与机器无关的方式,控制各种外部设备。Communications API,是标准的Java的扩展部分,它在JavaAPI中是没有附带的。因此,必须先在SUN公司网站的Java站点(www.java.sun.com)上下载这个扩展类库。

cnds_szh的博客 804
上一篇: __stdcall与__cdecl的区别
下一篇: 在Qt工程中进行libpcap编程
worldzhy
博客等级 码龄16年 156粉丝 231原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值