Joe*_*Joe 5 linux bash serial-port stty
在bash脚本中,我使用以下内容:
$ stty -F /dev/ttyUSB0 921600 raw
$ echo -n "some test data" >/dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)
它按预期工作.使用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
Run Code Online (Sandbox Code Playgroud)
现在我尝试用1 MBd做同样的事,但是出现了错误:
$ stty -F /dev/ttyUSB0 1000000 raw
stty: /dev/ttyUSB0: unable to perform all requested operations
Run Code Online (Sandbox Code Playgroud)
当我尝试500 kBd时也是相同的消息.尝试250 kBd的错误信息是不同的:
$ stty -F /dev/ttyUSB0 250000 raw
stty: invalid argument `250000'
Try `stty --help' for more information.
Run Code Online (Sandbox Code Playgroud)
正如所看到的在这里,它在PL2303的Linux驱动程序有问题.
我正在研究Kubuntu 12.04,32位.不幸的是,我不知道如何在我的系统上修复该驱动程序(获取驱动程序源代码,补丁程序,编译,安装......嗯,也许我学习了一下并尝试一下 - 欢迎提出建议).
但也许有一个更新的驱动程序可用易于安装?
或者有人知道另一个USB转RS232适配器,工作在1 MBd(需要通过rts/cts进行硬件流量控制,这对PL2303非常有效)?
在意识到 \xc2\xbbProlific 和 FTDI 是竞争对手\xc2\xab 后,我购买了 Ftdi US232R-10,它是基于 FT232R 的设备,指定为 1\xe2\x80\xafMBd 传输速率。
\n\n使用此适配器,我通过传输一些 GiB 数据成功测试了 1\xe2\x80\xafMBd 上的通信,没有任何错误(包括使用 Rts/Cts 硬件流控制)。
\n\n使用 stty 配置此设备,例如:
\n\n$ stty -F /dev/ttyUSB0 1000000 raw\nRun Code Online (Sandbox Code Playgroud)\n\n工作成功。
\n| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |