PySerial与思科设备偶尔有响应
我在用pyserial通过串口和一个思科设备通信时遇到了一些问题。有时候我能收到预期的回复,但并不是每次都能收到,我也不知道自己哪里做错了。有时候我连续收到多个空回复。我正在使用Windows 7,Python 2.7,pyserial 2.7。
这里有一些示例代码,用来获取一些回复。
ser = serial.Serial("COM20")
ser.timeout = 2
ser.parity = 'N'
ser.write("\nenable\nsh ip int brief\n")
print ser.read(10**8)
我收到的回复看起来像这样,正如我所期待的那样:Router(config)#
思科设备所需的设置:
Bits per sec : 9600
Data bits : 8
Parity : none
Stop bits : 1
Flow control : none
据我所知,这些设置与pyserial的默认设置是匹配的。
1 个回答
0
也许是baudrate
设置错了?默认值是9600
。如果这个值不对,可以试着用关键字参数来设置:
ser = serial.Serial("COM20", baudrate=<baud rate here>)
如果baudrate
设置不正确,可能会导致读取数据时出现奇怪的问题。