如何用 Java 语言向串口读写数据.docx 18页

  • 0
  • 0
  • 0
  • 约6.07千字
  • 2020-09-21 发布

如何用 Java 语言向串口读写数据.docx

文档工具:
    1. 1、本文档共18页,可阅读全部内容。
    2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
    3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
    4. 文档侵权举报电话:19940600175。
    . 如何用 Java 语言向串口读写数据 串口 , RS-232-C(又称 EIA RS-232-C ,以下简称 RS232)是在 1970 年由美国电子工业协会 (EIA) 联合贝尔系统、调制解调器厂家及 计算机终端生产厂家共同制定的用于串行通讯的标准。 RS232 是 一个全双工的通讯协议,它可以同时进行数据接收和发送的工作。串口是计算机上一种非常通用设备通信的协议。以前,大多数计算机包含两个基于 RS232 的串口。串口同时也是仪器仪表 设备通用的通信协议 ;很多 GPIB 兼容的设备也带有 RS-232 口。 同时,串口通信协议也可以用于获取远程采集的数据。 串口通信的概念非常简单,串口 按位 (bit) 发送和接收字节 。尽管比按字节 (byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。 它很简单并且能够实现远距离通信。比如 IEEE488 定义并行通行状态时, 规定设备线总常不得超过 20 米,并且任意两个设备间的长度不得超过 2 米;而对 于串口而言,长度可达 1200 米。 说到串口,也许很多人都要怀疑,这都什么年代了, USB 设备已经如此普及了, 谁还能想起这个老掉牙的通信端口呀?其实,在现实生活中,串口正因为它老,才会在实际使用中经常用到它。举个简单的例子: 工业制造及其设备与计算机之间的通讯、还有在各种电子工厂测试设备的过程中,都无一例外使用的串 口。因为它可以不用像 USB 设备一样必须有软件驱动的支持才可以进行工作。 . . Java对串口通信的支持 常见的 Java串口包 SUN 的 CommAPI 分别提供了对常用的 RS232 串行端口和 IEEE1284 并行端口通讯的支持。 目前,常见的 Java串口包有 SUN 1998 年发布的串口通信 API : comm2.0.jar(Windows 下 )、 comm3.0.jar(Linux/Solaris);IBM 的串口通信 API 以及一个开源的实现。鉴于在 Windows 下 SUN 的 API 比较常用以及 IBM 的实现和 SUN 的在 API 层面都是一样的,那个开源的实现又不像两 家大厂的产品那样让人放心, 这里就只介绍 SUN 的串口通信 API Windows 平台下的使用。 串口包的安装 (Windows 下) SUN 的网站下载 javacomm20-win32.zip ,包含的东西如下所示: . . 按照其使用说明 (Readme.html)的说法,要想使用串口包进行串口通信, 除了设置好环境变量之外, 还要将 win32com.dll 复制 \bin 目录下 ;将 comm.jar 复制到 \lib; 把 perties 也 同样拷贝到 \lib 目录下。然而在真正运行使用串口包的时候,仅 作这些是不够的。因为通常当运行“ java MyApp ”的时候,是由 JRE 下的虚拟机启动 MyApp 的。而我们只复制上述文件到 JDK 相应目录下, 所以应用程序将会提示找不到串口。 解决这个问题的方法很简单,我们只须将上面提到的文件放到 JRE 相应的目录下就可以了。 串口 API 介绍 m.CommPort 这是用于描述一个被底层系统支持的端口的抽象类。 它包含一些高层的 IO 控制方法,这些方法对于所有不同的通讯端口来说是通用的。 SerialPort 和 ParallelPort 都是它的子类,前者用于 控制串行端口而后者用于控这并口, 二者对于各自底层的物理端 口都有不同的控制方法。这里我们只关心 SerialPort。 m.CommPortIdentifier . . 这个类主要用于对串口进行管理和设置, 是对串口进行访问控制的核心类。主要包括以下方法 确定是否有可用的通信端口 IO 操作打开通信端口 决定端口的所有权 处理端口所有权的争用 管理端口所有权变化引发的事件 (Event) m.SerialPort 这个类用于描述一个 RS-232 串行通信端口的底层接口,它定义了串口通信所需的最小功能集。 通过它,用户可以直接对串口进行读、写及设置工作。 串口 API 实例 压缩包中除了 api,还包括了几个小例子,下面我们就一起看 . . 一下串口包自带的例子 ---SerialDemo 中的一小段代码来加深对 串口 API 核心类的使用方法的认识。 列举出本机所有可用串口 void listPortChoices() { CommPortIdentifier portId; Enumeration en = CommPortIdentifier.getPortIdentifiers(); iterate through the ports. while (en.h

    文档评论(0)

    • 内容提供方:baoyue
    • 审核时间:2020-09-21
    • 审核编号:7153024066003000

    相似文档