0
我正在使用python和pyserial嘗試發送命令並獲取響應。這裏是我的示例代碼:使用Python/Pyserial與RS232通信時丟失數據響應串行端口
import serial
ComPort = serial.Serial('COM4') # open COM4
ComPort.baudrate = 115200
ComPort.bytesize = 8
ComPort.parity = 'N'
ComPort.stopbits = 1
ComPort.timeout = 1
a= "FE0652"
data = a.decode('hex')
No = ComPort.write(serial.to_bytes(data))
msg = ComPort.read(1024)
print (msg.encode('hex'))
我用另一個C寫的工具,它顯示正確和完整的輸出。但是對於Python,它幾乎失去了一半的響應。例如:
預計:
ff5206
ff0023
ff0002
ff8080
ff8080
ff8080
ff8080
ff8003
......
觀察:
ff5206
ff0023
ff8080
ff8080
ff8003
......
謝謝Michael!我已經嘗試過,但沒有運氣。當我試圖讀取字節方式時,它在第一個數據之後丟棄響應,並且隨機...有時只有1,有時是2,3 ...我不確定問題是否是因爲響應太快所以pyserial dropouts響應,或者是因爲編碼部分... –