4

我需要使用 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 设置为波特率,它会很高兴以那个速度输出数据(用示波器测量,所以它是如第 325 行的 linux 驱动程序中所述,不切换到最近的可用或 9600!)。

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

在你问之前,我已经开发了一种以 250kbps 的速度进行通信的设备,这个速度是必需的,并且是我能得到的最高速度而不会出错,所以不,我不能改变它。

4

1 回答 1

4

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

于 2013-06-09T08:33:38.997 回答