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

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. 如何用 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 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档