0
我有一個設備(GT511C3 fingerprint scanner),我正在連接到Raspberry Pi並使用Python Serial module進行編程。 GT511設備的默認波特率爲9600,並且可以更改它。一旦你改變了GT511波特率,它會保持這個設置,直到下一次重啓。pySerial:如何檢查當前的波特率
問題是,如果有方法可以檢查連接設備的當前波特率(如果設備已經編程並且由不同的主機連接)。我知道這是可能使用stty
做到這一點:
$> stty < /dev/ttyAMA0
speed 57600 bud; line = 0
...
有沒有辦法使用Python串行或任何其他模塊做,或做我必須寫一個反覆的檢查過程發現它呢?
更新1: 我用目前的解決辦法找到接受波特率:
ser = serial.Serial('/dev/ttyAMA0')
ser.timeout = 0.5
for baudrate in ser.BAUDRATES:
if 9600 <= baudrate <= 115200:
ser.baudrate = baudrate
ser.write(packet)
resp = ser.read()
if resp != '':
break
if ser.baudrate > 115200:
raise RuntimeError("Couldn't find appropriate baud rate!")
更新2: 請停止提示serial.baudrate
- 這是不是什麼,我問。
看起來你在更新回答了自己的問題1.更新2沒有意義的,我......你尋找答案不嘗試使用pySerial方法? – theQuestionMan
'serial.baudrate'不是我正在尋找的,因爲它會給我我所知道的。我試圖找出遠程設備將響應哪些設備。 – RafazZ