|
1
27
建造一台时间机器,然后回到1987年?呵呵。 好吧,别再胡说八道了。
阅读数据表?好的,好的。说真的,最后一个。如果您不知道要与之通信的设备的波特率,您有两个选择。开始猜测,或者可能会破坏一个O型示波器。如果你需要一个好的起点,我建议你9600-8-N-1。我的怀疑是你可以用蛮力很快到达那里。还有第三种选择,就是让一个老派忍者用标准波特率看那些乱七八糟的字符就能知道实际波特率是多少。一个令人印象深刻的派对把戏。 希望你能接触到这些信息。在Unix/Linux中,您可以让Minicom的一个主机直接与串行端口一起玩。这应该可以使配置得到解决变得相当快。
在UNIX中,串行端口是/被文件映射到/dev/subdir中。例如,ttys0。如果你设置了正确的波特率,并且没有使用minicom,你甚至可以将数据传输到那个文件,然后发送出去。 关于问题的核心部分,您可以通过POSIX头文件以编程方式访问它。Termios.h是最大的。
超级终端和Minicom基本上是相同的程序。至于Windows如何让您访问串行端口,我将把这个问题留给其他人。我从95年冬天起就没有在Windows上做过。 |
|
|
2
10
如果你想用Java编写代码,我真的推荐SerialIOs。 SerialPort . 它很容易使用,而且可以节省你的工作时间。我从来没有找到过比serialio更好的开源库,真的! 我的建议是:不要使用Sun的串行IO框架!这是从1998年开始的,到处都是虫子。你可以使用 rxtx 但是塞利亚里奥更好! |
|
|
3
8
对于Windows上的C/C++,你至少有两种选择:
.NET选项将更简单。 |
|
|
5
3
从另一方面来说,如果你想使用C来完成它,它将在Windows和Linux上运行,其中一些 limitations (编辑:可能已过时。我没有办法测试它。创建一个 SerialPort 对象,设置其波特率、端口和任何其他奇怪的设置,对其调用open,并写出字节[]s。在所有设置之后,serialport对象的行为与任何联网流非常相似,因此应该很容易弄清楚。 正如易卜兰迪所说,在你开始尝试与任何串行设备通信之前,你需要知道所有这些设置,比如波特率。 |
|
|
6
3
在工作中,我们使用Teraterm和Realterm检查串行数据的格式是否正确。另外,我们还有一个带交换机的硬件拆分器,这样我们就可以通过回另一个端口的电缆来监视到我们的应用程序的流量。 Windows允许您通过CreateFile访问串行端口。这为您提供了一个句柄,从中可以配置访问。 |
|
|
7
3
不久前,我写了一个相当大的应用程序,将连接从调制解调器场路由到TCP/IP网络地址。 最初我寻找一个无障碍(免费)的串行IO库。我试过Sun、IBM和RXTX。在开发应用程序和初始测试中,它们都很好,但在生产中,它们都被证明是不稳定的。 最后我支付了塞利亚罗的赛利亚波特。转换实际上是改变进口的一个练习,而图书馆 绝对地 坚如磐石-我推荐不够。我的应用程序已经24/7地运行了几年了,多个客户都没有遇到任何问题。 如果您开始使用serialport进行开发,他们有更好的API,我会使用它。 如果需要跨平台支持,JavaSerialPoT是我能找到的最佳选择。 最后,只要您没有为客户在设备上预装软件,他们的许可就相当合理。 |
|
|
8
1
根据您尝试与之通信的设备,可能有比波特率、数据位数量、奇偶校验类型和要考虑的停止位数量更多的参数。如果我没记错的话,调制解调器使用9行RS-232C接口。有些设备,例如收银机,可能在RTS/CTS线路或DTR/STR线路上使用硬件握手。 一般来说,了解接口是如何工作的很好。如果波特率不匹配,则无法通信,但其他参数的设置错误可能会导致工作。例如,您可以很容易地将数据发送到设备,期望设置2个停止位的1个停止位。在这种情况下,当您尝试接收数据时,问题就开始了。您还可以使用适当设置的奇偶校验位作为停止位之一,等等。 |
|
|
9
1
如果不强制使用特定的编译器,我建议使用qt,在新的5.3版本中,您将找到一个专用于串行端口的类: http://qt-project.org/doc/qt-5/qserialport.html 您将要编写的代码将在所有支持的qt平台上运行,至少在那些具有串行端口的平台上运行。 |
|
|
10
0
我一直在使用purejavacom: It is an implementation of javax.comm written in pure java + JNA 与RXTX不同,您不需要安装DLL。它是用纯Java+JNA编写的,解决了Windows和Linux之间的移植性问题。它应该很容易移植到JNA支持的其他操作系统,如Solaris和FreeBSD,但我没有尝试过。 您可能期望纯Java库在性能上落后于本地实现,如RXTX,但随着现代CPU的发展,瓶颈很可能是串行端口的比特率,而不是CPU周期。此外,调试也比混合Java/本地库或纯编译的本机代码容易得多。 |
|
|
PHPLover · “支持PHP扩展或功能的端口”实际上是什么意思? 1 年前 |