今日讀的進度,以及筆記
改成執行緒的方式收值
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