我们有一个实现,其具有的921600固定波特率一个USB - >虚拟COM端口的电动机控制器(手动甚至指出波特率不能改变)。 我发现,如果我使用像终端的终端程序,我可以传递921600定制的波特率,并没有问题的仪器进行通信。 我们使用的是Windows 7专业版,64位版本。
然而,当我试图做这PySerial使用Python 2.7.10(32位)这样的(v.2.7):
import serial
ser = serial.Serial("COM3",921600)
我总是会遇到错误,指出参数不正确。
文件 “C:\ Python27 \ LIB \站点包\序列\ serialwin32.py”,线路202,在_reconfigurePort提高ValueError异常( “无法配置端口,一些设置是错误的原始邮件:%R” %ctypes.WinError() )ValueError异常:无法配置端口,一些设置是错误的。 原始消息:WindowsError(87, '参数不正确。')
有效波特率似乎是在serialwin32.py列出的一个
BAUDRATES = (50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800,
9600, 19200, 38400, 57600, 115200)
当我使用任何波特率从列表中有我可以打开串行端口(但不是必须能够与仪器通讯)。
只是增加921600一百到这个名单中serialwin32.py没有做任何事情。 找遍了几个论坛和网站,到目前为止,似乎没有人对如何在Windows中设置该波特率越高的答案。 以上115200波特率曾经是旧版本的Windows不可靠的,但我认为Windows 7的现在应该可以处理更高的传输速率特别是许多USB IC像FTDI和CH430可以处理更高的波特率超过115200。
有谁知道一种方式来获得pySerial接受比在Windows 115200更高的波特率?