PySerial与思科设备偶尔有响应

0 投票
1 回答
616 浏览
提问于 2025-04-18 14:45

我在用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设置不正确,可能会导致读取数据时出现奇怪的问题。

撰写回答