Prolific PL2303 串行端口至 250000bps

MGG*_*MGG 4 linux usb serial-port

我需要使用 c 以 250kbps 的速度运行我的 /dev/ttyUSB0 (多产的 pl2303 USB-RS232 转换器)。我到处看看,每个人都说最接近的可实现速度是 230400 bps(http://lxr.linux.no/#linux+v3.9.5/drivers/usb/serial/pl2303.c以及几行之后(第 325 行)”注意:仅支持 baud_sup 中定义的值!”)。但我 100% 确定它可以完成,因为在 Windows 上(使用 c# 默认 SerialPort 组件)我可以将 250000 设置为波特率,并且它会很乐意以该速度输出数据(用示波器测量,所以它是没有切换到最近的可用值或 9600,如 Linux 驱动程序第 325 行中所述!)。

有谁知道在linux中设置自定义波特率的方法吗?

在你问之前,我已经开发了一种以 250kbps 进行通信的设备,该速度是必需的,并且是我可以在没有错误的情况下获得的最高速度,所以不,我无法更改它。

MGG*_*MGG 5

这是linux驱动的问题。从第 333 行到第 348 行,驱动程序强制设置波特率。删除该代码后,波特率的计算公式为12 * 1000 * 1000 * 32 / baud,这在 250kbps 时给出了 0% 的误差,完全符合我在 Windows 上得到的结果。我期待改进官方驱动程序。