我正在尝试与仪表建立连接,该仪表通过USB串行接口连接到PC。我通过供应商专有程序在Windows 8中成功做到了这一点,该程序使用Prolific驱动程序版本3.2.0。在Windows中,借助软件“ HDD Software Device Monitoring Studio”,监视了仪表和软件之间交换的数据。
现在,我想重复在HDD Software Device Monitoring Studio中看到的数据交换,但是这次是在Debian Gnu / Linux中,而没有供应商的量规专用程序。为此,我在Debian中安装了一个软件“ jpnevultor版本2.1.3”,该软件似乎可以满足我的需求,因为它能够向串行端口写入和读取数据。
安装此程序后,我将仪表插入了运行Debian的PC并发出了dmesg|tail
命令,在输出中有一行usb-3-1: pl2303 converter now attached to ttyUSB0
,所以我假设在Debian上安装了pl2303驱动程序并成功确定仪表,我可以使用它。
为了测试是否可以通过/dev/ttyUSB0
文件将数据发送到仪表,我创建了一个名为hello
的文本文件,其内容如下:
FF 3A 32 34 31 3B 30 3B 30 3B 36 35 34 30 35 0D
这是我每次通过供应商专有程序与仪表进行数据交换时都通过HDD Software Device Monitoring Studio监视的字节序列。
现在,我正在尝试将此字节序列提供给仪表。首先,在Debian中,我执行了以下命令jpnevulator --tty /dev/ttyUSB0 --read
。它使终端处于挂起状态,因此我假设程序正在等待来自ttyUSB0
的数据。
然后,我打开第二个终端窗口并执行以下命令jpnevulator --tty /dev/ttyUSB0 -f hello --write
,以字节序列将所提及文件hello
中的数据写入/ dev / ttyUSB0。
写入命令正常执行。但是,当我切换回第一个终端窗口以查看是否有来自量规的字节时,发现没有像没有向/dev/ttyUSB0/
发送任何数据那样的字节。
我试图发出以下命令:modprobe -r pl2303; modprobe pl2303
,并重复上述写和读命令,但没有结果。我尝试通过命令stty -F /dev/ttyUSB0 ispeed 9600
将/ dev / ttyUSB0速度设置为9600,因为尝试将/ dev / ttyUSB0的权限更改为777,并在根帐户下运行了所有提到的命令,但是结果是相同的-读命令没有不返回任何数据。您能否帮助我找出发生这种情况的原因,以及如何正确地将数据写入/ dev / ttyUSB0?