在 bash 脚本中,我使用以下内容:
$ stty -F /dev/ttyUSB0 921600 raw
$ echo -n "some test data" >/dev/ttyUSB0
它按预期工作。使用 PL2303 USB 转 RS232 适配器:
$ lsusb
...
Bus 006 Device 010: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 006 Device 011: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
现在我尝试对 1 MBd 执行相同的操作,但出现错误:
$ stty -F /dev/ttyUSB0 1000000 raw
stty: /dev/ttyUSB0: unable to perform all requested operations
当我尝试使用 500 kBd 时,也会出现相同的消息。尝试 250 kBd 的错误消息是不同的:
$ stty -F /dev/ttyUSB0 250000 raw
stty: invalid argument `250000'
Try `stty --help' for more information.
如此处所示,这是 PL2303 linux 驱动程序中的一个问题。
我正在开发 Kubuntu 12.04,32 位。不幸的是,我不知道如何在我的系统上修复该驱动程序(获取驱动程序源、修补 em、编译、安装……嗯,也许我学到了一点并试一试——欢迎提供建议)。
但也许有一个易于安装的更新驱动程序可用?
或者是否有人知道可以在 1 MBd 下工作的备用 USB 到 RS232 适配器(需要通过 rts/cts 进行硬件流控制,它与 PL2303 配合得很好)?