今日讀的進度,以及筆記
改成執行緒的方式收值
import serial from threading import * import sys import time def handleClient(): while(True): print("waiting for client") time.sleep(3) #with serial.Serial('COM6',9600,timeout = 1) as ser: def recevive(): my_list = [12] # CRLF[10]="\r\n" with serial.Serial() as ser: ser.baudrate = 9600 ser.port = 'COM6' ser.open() #print(ser.name) while(True): text = ser.read().decode('utf-8') text = text.replace('\r','\n') my_list = text #想要整理成矩陣 目前無頭緒 print (my_list,end ='') if my_list[0] =="S": print("perfect") else: print("failed") time.sleep(0.1) if __name__ == "__main__": t = Timer(3.0,handleClient) s = Timer(3.0,recevive) s.start()
有關執行緒的部分有多種方式可以使用,上面只是其中一個,還有別種方法是利用class的方法,不過在python3中用的方法都比較嚴謹,沒辦法隨意使用,以及他使用的語法和C其實差蠻多的,有可能後面做法做看看,利用python控制C的程式,說不定會簡單一點,但是不一定,也要實作才知道,最主要python2和python3的差別來自於他們對於編碼的方式不同,而且相對於他們使用的嚴謹,for example (encode . decode)部分的可能要需要再研讀一陣子。
Comments
comments powered by Disqus