本文介绍了一个简单的通过串口实现全双工通讯的Java类库,该类库大大的简化了对串口进行操作的过程

一个嵌入式系统通常需要通过串口与其主控系统进行全双工通讯,譬如一个流水线控制系统需要不断的接受从主控系统发送来的查询和控制信息,并将执行结果或查询结果发送回主控系统。本文介绍了一个简单的通过串口实现全双工通讯的Java类库,该类库大大的简化了对串口进行操作的过程。

本类库主要包括:SerialBean.java(与其他应用程序的接口),SerialBuffer.java(用来保存从串口所接收数据的缓冲区),ReadSerial.java(从串口读取数据的程序)。另外本类库还提供了一个例程SerialExample.java作为示范。在下面的内容中将逐一对这几个部分进行详细介绍。

1.SerialBean

SerialBean是本类库与其他应用程序的接口。该类库中定义了SerialBean的构造方法以及初始化串口,从串口读取数据,往串口写入数据以及关闭串口的函数。具体介绍如下:

publicSerialBean(intPortID)

本函数构造一个指向特定串口的SerialBean,该串口由参数PortID所指定。PortID=1表示COM1,PortID=2表示COM2,由此类推。

publicintInitialize()

本函数初始化所指定的串口并返回初始化结果。如果初始化成功返回1,否则返回-1。初始化的结果是该串口被SerialBean独占性使用,其参数被设置为9600,N,8,1。如果串口被成功初始化,则打开一个进程读取从串口传入的数据并将其保存在缓冲区中。

publicStringReadPort(intLength)

本函数从串口(缓冲区)中读取指定长度的一个字符串。参数Length指定所返回字符串的长度。

publicvoidWritePort(StringMsg)

本函数向串口发送一个字符串。参数Msg是需要发送的字符串。

publicvoidClosePort()

本函数停止串口检测进程并关闭串口。

SerialBean的源代码如下:

packageserial;

importjava.io.*;

importjava.util.*;

importjavax.comm.*;

/**

*

*Thisbeanprovidessomebasicfunctionstoimplementfulldulplex

*informationexchangethroughthesrialport.

*

*/

publicclassSerialBean

{

staticStringPortName;

CommPortIdentifierportId;

SerialPortserialPort;

staticOutputStreamout;

staticInputStreamin;

SerialBufferSB;

ReadSerialRT;

/**

*

*Constructor

*

*@paramPortIDtheIDoftheserialtobeused.1forCOM1,

java 全双工服务器_利用Java实现串口全双工通讯_JAVA实例教程_IT部落相关推荐

  1. java远控_利用Java实现远程控制

    利用 Java 实现远程控制 摘 要: 介绍了远程控制地原理 , 详细地叙述了利用 Java 实现远程控制软件地程序设计方法和要点 , 并给出了要点地具体实现方法 . 关键词: 远程控制: Java ...

  2. java 实现网络通信_利用Java怎么样实现网络通信功能

    利用Java怎么样实现网络通信功能 发布时间:2020-11-20 15:19:04 来源:亿速云 阅读:72 作者:Leah 利用Java怎么样实现网络通信功能?相信很多没有经验的人对此束手无策,为 ...

  3. java 刷新界面_利用java如何实现在删除信息后刷新页面功能

    利用java如何实现在删除信息后刷新页面功能 发布时间:2020-11-17 14:25:49 来源:亿速云 阅读:74 作者:Leah 这篇文章给大家介绍利用java如何实现在删除信息后刷新页面功能 ...

  4. java invoke 泛型_利用Java反射机制和泛型,全自动解析json

    有啦这个简直,太爽啦, 利用Java 反射机制,利用Class 就可以得到 类的 变量  Field[] fields=cls.getDeclaredFields(); 还可以通过类中 的方法名字 去 ...

  5. java post 注册_利用JAVA发送POST请求(垃圾注册就是这么产生的) | 学步园

    大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了, ...

  6. java游戏循环_利用Java循环语句实现攻击防御塔小游戏

    /* * 时间:2018-3-21 * 目的:practice * 内容:利用Java循环语句实现攻击防御塔小游戏 * 使用Java while语句实现一个英雄攻击防御塔的小程序,防御塔血量总计100 ...

  7. java jmap 分析_利用java虚拟机的工具jmap分析java内存情况

    有时候碰到性能问题,比如一个java application出现out of memory,出现内存泄漏的情况,再去修改bug可能会变得异常复杂,利用工具去分析整个java application 内 ...

  8. java多线程查询_利用Java函数式接口处理多线程查询

    Java函数式接口 有且只有一个抽象方法的接口被称为函数式接口. @FunctionalInterface注解: 该注解可用于一个接口的定义上, 一旦使用该注解来定义接口, 编译器将会强制检查该接口是 ...

  9. java实现浏览器_利用Java实现网页浏览器

    使用VC,VB或者C#的开发者们对于在程序里面嵌入一个网页来说,那真是小事一桩.但是在JAVA里面,却几乎是不可能实现的任务. JEditorPane虽然说可以打开网页,但是它那解析速度以及解析质量, ...

最新文章

  1. php后台无法接受文件,ios afnetworking2.x上传图片 服务端php无法接受文件问题
  2. VTK:可视化之NamedColorPatches
  3. php array_merge 与 + 区别
  4. docker导入镜像 liunx_docker扫盲?面试连这都不会就等着挂吧
  5. 如何使用开源工具制作YouTube系列
  6. 记录一次nginx 配置https 强制http转发到https
  7. 利用 GitHub Actions 在 GitHub 上进行加密挖矿?
  8. Call for Speaker!Flink Forward 全球在线会议议题征集 ing
  9. switch可以用什么手柄_steam设置switch手柄的步骤_Steam平台可以用switch良值pro手柄吗_怎么设置_9号资讯...
  10. DNS协议解析与DNS模拟服务器-基于golang实现
  11. 国内优秀的设计公司有哪些?
  12. 【二次分配问题】基于遗传算法 (GA)、粒子群优化 (PSO) 和萤火虫算法 (FA) 求解二次分配( QAP)问题(MATLAB 实现)
  13. 教务系统爬虫收集学生成绩信息
  14. Gstreamer/tools: gst-launch gst-inspect 用法示例
  15. 透彻理解SLAM中的非线性最小二乘问题
  16. UTF8中文编码范围
  17. 【量化投资实训】基于MATLAB实验一.简单移动平均线MA
  18. 《史蒂夫·乔布斯传》官方正式中文版电子书
  19. Object和Objects
  20. 求大佬指点一下两个系统在服务器上用中间表做数据交互

热门文章

  1. 小心Lombok用法中的坑
  2. 厉害了,自己手写一个Java热加载!
  3. 缓存通用管理类 + 缓存 HttpContext.Current.Cache 和 HttpRuntime.Cache 的区别
  4. 测试boot库下I/O模型类型
  5. php模板意思,php中的 是什么意思
  6. php类的举例,用类来代替递归方法,用php举例_php _ 搞代码
  7. e300氛围灯哪里调节_让快乐来得更简单!体验新宝骏E300/E300 PLUS
  8. linux修图,修图只知道Photoshop?11款高逼格修图工具快来get!
  9. 4列变成5列 datatable_云南美食界“5巨头”,谁才是NO.1?你家乡的那道菜也在列...
  10. 手机联系人头像包_一组抖音上很火的表情包,这里都有,一起来可可爱爱吧