Java串行端口库对该设备具有什么好处



关于Java串行端口库(如RXTX和JSSC)有很多讨论,但是它们真正提供了什么?在Linux和Windows中,您都可以简单地打开串行端口,例如用于阅读和写作的文件,不是吗?仅使用文件IO从设备上读取和写入图书馆的优点是什么?

我了解库允许您配置端口,通常需要通过命令调用来完成。但是,假设端口已经配置,是否有任何理由使用库?

在Linux和Windows中,您可以简单地打开串行端口,例如用于阅读和写作的文件,不是吗?

虽然可以做到这一点,但这并不是真正推荐的方法。到您的第二点:

,但是假设端口已经配置,是否有任何理由使用库?

假设 端口已配置和配置正确,那么只需打开串行端口并像普通文件一样读取和写入并写下它是完全有可能的。但是,这确实带有另一个警告:如果您完全依赖控制信号,则您将无法从端口获取数据。我与之合作过的大多数串行设备根本没有对控制线做任何事情,但这不是您始终可以确定的。

使用库背后的点是,您可以获取并设置所需的确切设置,以便在端口上适当交谈。

至于JSSC/RXTX没有InputStream/OutputStream,我也不喜欢这些库,所以我写了自己的。

从历史上看,

串行端口是为慢速通信线(例如调制解调器)设计的。他们还有其他信号,供"清除","发送","发送","数据终端","挂断","戒指"等。一些串行设备仍然使用。这些东西仍然存在于硬件中,因此串行库应提供API来访问它。

另一件事是中断。您可能不想一直对连接进行轮询,以查看是否有可用数据。串行API通常为此提供回调或事件处理程序。

打开和关闭端口最好完成。严格来说,这不是必要的,但是最好不要期望特定的端口在开始时开放或将其锁定在出口上。

以下是为什么我们可能会考虑库的快速列表,但很大程度上我觉得,如果我们制造商业产品而不是现成的库可能是不错的选择我们自己的。

  1. 各种操作系统的统一性。我们必须为所有受支持的OS编写代码本身就是一项任务。
  2. 图书馆作者可能在该特定主题上具有更多的经验,因此质量可能比我们更好。
  3. 是完成项目的时间(上市时间)是另一个因素。
  4. 综合测试套件
  5. 超越简单的读/写可能是额外的功能,尤其是在GUI驱动的产品(如热插头和视觉指示等)的情况下。
  6. 库可能实现协议或规格意味着简单的读/写可能包裹在流中,其中串行端口特定的东西被隐藏了,并且均匀图层暴露于应用程序。
  7. 支持更广泛的硬件设备ESP USB-UART看看这两个开源库第一库和第二库
  8. 支持嵌入式和桌面OS

相关内容

  • 没有找到相关文章

最新更新