与设备的普通IO相比,Java串行端口库有哪些好处?
关于像RXTX和JSSC这样的Java串行端口库有很多讨论,但是它们真正提供了什么呢?在linux和windows中,您可以像打开文件一样打开串行端口进行读写,不是吗?与仅从带有文件IO的设备读写相比,使用库的优势是什么与设备的普通IO相比,Java串行端口库有哪些好处?,java,serial-port,rxtx,jssc,Java,Serial Port,Rxtx,Jssc,关于像RXTX和JSSC这样的Java串行端口库有很多讨论,但是它们真正提供了什么呢?在linux和windows中,您可以像打开文件一样打开串行端口进行读写,不是吗?与仅从带有文件IO的设备读写相比,使用库的优势是什么 我知道库允许您配置端口,这通常需要通过命令行调用来完成。但是,假设端口已经配置好,是否有理由使用这些库?历史上,串行端口是为低速通信线路(如调制解调器)设计的。它们还有“清除发送”、“请求发送”、“数据终端就绪”、“挂断”、“响铃”等附加信号。一些串行设备仍然使用这些信号。这些
我知道库允许您配置端口,这通常需要通过命令行调用来完成。但是,假设端口已经配置好,是否有理由使用这些库?历史上,串行端口是为低速通信线路(如调制解调器)设计的。它们还有“清除发送”、“请求发送”、“数据终端就绪”、“挂断”、“响铃”等附加信号。一些串行设备仍然使用这些信号。这些东西仍然存在于硬件中,所以串行库应该提供一个API来访问它 另一件事是中断。您可能不想一直轮询连接以查看是否有可用数据。串行API通常为此提供回调或事件处理程序
打开和关闭端口最好在应用程序中完成。严格地说,这不是必需的,但最好不要期望某个端口在启动时打开或在退出时将其锁定。从历史上看,串行端口是为诸如调制解调器之类的慢速通信线路设计的。它们还有“清除发送”、“请求发送”、“数据终端就绪”、“挂断”、“响铃”等附加信号。一些串行设备仍然使用这些信号。这些东西仍然存在于硬件中,所以串行库应该提供一个API来访问它 另一件事是中断。您可能不想一直轮询连接以查看是否有可用数据。串行API通常为此提供回调或事件处理程序 打开和关闭端口最好在应用程序中完成。严格地说,这不是必需的,但最好不要期望某个特定端口在开始时打开,或者在出口时将其锁定 在linux和windows中,您可以像打开文件一样打开串行端口进行读写,不是吗 虽然这是可能的,但这并不是一个真正推荐的方法。转到第二点: 但是假设端口已经配置好,有什么理由使用这些库吗 假设端口配置正确,那么完全可以像普通文件一样打开串行端口并进行读写。不过,这确实带来了另一个警告:如果您完全依赖于控制信号,您将无法从端口获取数据。我使用过的大多数串行设备根本不使用控制线,但这并不是您始终可以确定的 使用库背后的要点是,您可以获得并设置通过端口适当交谈所需的确切设置 至于JSSC/RXTX没有
InputStream
/OutputStream
,我也不喜欢那些库的这种情况,所以我选择了
在linux和windows中,您可以像打开文件一样打开串行端口进行读写,不是吗
虽然这是可能的,但这并不是一个真正推荐的方法。转到第二点:
但是假设端口已经配置好,有什么理由使用这些库吗
假设端口配置正确,那么完全可以像普通文件一样打开串行端口并进行读写。不过,这确实带来了另一个警告:如果您完全依赖于控制信号,您将无法从端口获取数据。我使用过的大多数串行设备根本不使用控制线,但这并不是您始终可以确定的
使用库背后的要点是,您可以获得并设置通过端口适当交谈所需的确切设置
至于JSSC/RXTX没有
InputStream
/OutputStream
,我也不喜欢那些库的这种情况,所以,我。 < P>下面是一个为什么我们可以考虑图书馆的快速清单,但我觉得如果我们做一个商业产品比准备好的图书馆可能是一个不错的选择,否则作为一个学习者,我们可以自己写。
下面是我们为什么会考虑图书馆的一个简单清单,但我觉得如果我们做一个商业产品比准备好的图书馆更好,那么作为一个学习者我们可以自己写。