首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >串口通信RXTX

串口通信RXTX
EN

Stack Overflow用户
提问于 2014-07-10 19:45:20
回答 1查看 2.2K关注 0票数 1

我正在处理一个工作项目,它打开4个串口,并将每个端口分配给一个新的(相同的)对象(选项卡)。每个选项卡都可以关闭各自的端口,并可以通过下拉框中的选择打开任意空闲端口,使用单选按钮设置参数,并打开所选的空闲端口。一旦端口打开,用户可以单击所选的按钮并向端口发送二进制字符串。这不是我的问题。这是我的工作,只包括背景和框架的我的问题。

我的问题是关于rxtxSerial.dll库。我尝试过这个文件的几个版本(2.1-7、2.2-3、2.2-4等)和相应的RXTXcomm.jar文件,它在我的测试计算机上运行(它只有两个可用的串行端口),但是当我用四个串行端口在计算机上运行它时,我会收到以下错误消息:

Java(TM)平台SE二进制程序已停止工作

问题签名:

问题事件名称: BEX

应用程序名称: java.exe

申请版本: 7.0.510.13

申请时间: 52b26621

故障模块名称:rxtxSerial.dll

错误模块版本: 0.0.0.0

故障模块时间戳: 4c2d952a

异常偏移: 00007ef2

例外代码: c0000417

例外数据: 00000000

操作系统版本:6.1.7600.2.0.256.48

地区编号: 1033

补充资料1: 5844

附加信息2: 584492d8ff48ad655801e1ea86dce8ff

附加信息3: c3f6

附加信息4: c3f694d7fdd57adf7aa97e597a203712

我的问题是:是否有人犯了这个错误,并找到了解决方法?我正在使用32位版本的RXTXcomm、Java1.7(X86)和Windows7OS.我尝试将它放在项目的运行目录中,以及'C:\Program (X86)\Java\jre7 7\bin‘。如果这是问题所在,我就会得到一个链接器错误(我在过去已经修正过)。

更新1

我找到了一种办法使这件事成功。我所做的是将rxtxVersion2.1-7用于jar和..dll,我的修复方式是在输入/输出流关闭和串口本身关闭之间添加了一个Thread.sleep(3000)。问题是,在串口关闭之前,它们还没有完全关闭。现在我遇到的问题是rxtx函数'isCurrentlyOwned()‘总是返回false。

更新2

我在一个rxtx库中找到了我需要的答案,这个库是由Bart Prokop在github上固定的:https://github.com/bartprokop/rxtx。这个图书馆做了我需要它做的一切。我使用它的方式不是使用rxtx2.1-7jar,而是下载了这个项目并粘贴到我项目的主目录中的gnu文件夹,并将其用作源代码而不是jar文件。另外,在一个附带说明,当我与用户交谈时,我被告知他将在大约三周内发布一个稳定的版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-22 00:36:24

我也有同样的问题,并张贴在RxTx邮件列表上。这是一个尚未修复的严重错误。这些库已经有一段时间没有更新了。您最好的选择是切换到PJC。许多人报告了PJC的利益。参见https://github.com/nyholku/purejavacommhttp://www.sparetimelabs.com/purejavacomm/purejavacomm.php,创建者非常响应和帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24685001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档