一 先按照 pywin32:pywin32是一個非常強大的Python擴展庫,是Python調用Windows系統底層功能的最佳接口,不安裝這個按照pyserial也沒有用
二 按裝pyserial
三pyserial使用注意:python提供了n=serial.iswaiting serial.read(n)來接收數據,serial.iswaiting啟動接收,並返回接收數據的長度,然后用read(n)將這指定的數據讀出來。但現實中的問題是兩者的中間需要加延時(根據波特率計算發送內容所需的時間,這樣就不會出現延時過短讀出的不全;延時時間長了就會出現前后幀發出的內容重合到一起),此外如果需要判斷什么時候串口不活動,可以再serial.iswaiting一直延時(超過幾個字符的傳送時間,軟件延時計數器累加),而在循環體外將計數器清零,在累計的幾個字符時間接受的數據長度還為0則認為通訊結束。
while uart.iswaiting ==0 : #作用1:通訊期間只起到觸發開始接受,然后延時一定時間直到全部接收完成;作用2:停止傳遞期間,判斷何時通訊結束,相當於超時設計
time.sleep(t)
if(++count == delay_5bit)
count =0
break
time.sleep(Tmessage) #一幀的傳遞時間
len=uart.iswaiting
if n:
uart.read(len)
#接收處理
else:
#通訊斷開或者串口關閉識別處理