我有一个 USB 转串口适配器,Prolific Technology, Inc. PL2303 串口,可在 ubuntu 10.04、win xp、win7 机器上运行。但是,我在 Ubuntu 13.10 和 14.04 LTS 上遇到了问题。它枚举正常并显示为 /dev/ttyUSB0 或 /dev/ttyUSB1。目前,我正尝试连接到一个便宜的 RS232 万用表,该万用表连接到引脚 2(Rx 数据)和引脚 4(DTR)线。
1.) 有人知道 PL2303 的 USB 串行驱动程序是否正常工作或损坏吗?如果它们正常,那么 2.) 有人知道如何设置或重置 DTR 线吗?这用于启用或抑制万用表的输出。
当前使用 tcl/tk 访问硬件。
答案1
回答我自己的问题:
PL2303 的 USB 串行驱动程序确实可以工作,没有损坏。我认为大多数问题都来自初始化,其中 DTR 线默认为 -ve 伏特,即 0。Ubuntu 的早期版本(即 10.04)默认 DTR 线上的电压为 +ve 伏特。请注意,UBUNTU 14.04 中的其他 USB 到串行转换器(例如 Belkin F5U409)默认 DTR 线上的电压为 +ve 伏特,因此可以正常工作。使用 GTKterm 并切换 DTR 线确认驱动程序是否正常工作。此外,还建立了与斯坦福研究 SR830 锁相放大器的连接并验证了其身份。
建立工作驱动程序后,tcl/tk 中的解决方案是在命令中使用 -ttycontrol 开关
fconfigure
。即:... set device "/dev/ttyUSB0" set dh [open $device r+] fconfigure $dh -mode $baud_rate,$parity,$data_bits,$stop_bits -translation binary -encoding binary -blocking 0 -buffering line -ttycontrol {RTS 0 DTR 1} set tmpstr [ read $dh ] close $dh ...
对我有用:)。