要使用python中的串口,可以下載pywin32-224-cp36-cp36m-win_amd64.whl去安裝或者pip install去安裝。 調試下來,有一點很不爽,讀取read()數據的timeout時間最小單位是秒,這對應很頻繁的讀取使用,很浪費時間。如果不設置這個時間我在有些串口設備上 ...
要使用python中的串口,可以下載pywin32-224-cp36-cp36m-win_amd64.whl去安裝或者pip install去安裝。 調試下來,有一點很不爽,讀取read()數據的timeout時間最小單位是秒,這對應很頻繁的讀取使用,很浪費時間。如果不設置這個時間我在有些串口設備上調試發現read一定讀滿給定的位元組數才能返回。比如:Uart.read(512),一定要讀到512位元組才能返回,如果這個時間單位能改成毫秒那就最好了。 貼一段簡單的寫讀操作,作為一個記錄。
1 import serial 2 3 uart = serial.Serial('COM31',115200,serial.EIGHTBITS,serial.PARITY_NONE,serial.STOPBITS_ONE,timeout=1,write_timeout=1) 4 uart.open() 5 uart.rts = 1 6 uart.dtr = 1 7 cmd = b'ATI'+b'\x0D'+b'\x0a' 8 write_len = uart.write(cmd) 9 rsp_str = uart.read(512) 10 print("rsp:%s"%(rsp_str.decode('utf-8'))) 11 uart.close()