我對python和pyserial很新。我的電腦安裝了Python 2.7.4與pyserial,我想打印串行接收的數據在我的電腦上的一個單獨的窗口。首先必須打開窗口,然後在該窗口上打印串行數據。在這裏窗口必須打開一次,串行數據必須連續打印在窗口上,直到設備停止發送數據。 我嘗試過使用這段代碼,但它毫無價值。 請有人幫我的代碼。用於在窗口上打印串行數據的python代碼。
import serial
import Tkinter
from Tkinter import *
s = serial.Serial('COM10',9600) # open serial port
master = Tk()
master.geometry("1360x750") # a window pop up with width (1360) and height(750) which exatly fits my monitor screen..
while 1:
if s.inWaiting():
text = s.readline(s.inWaiting())
frameLabel = Frame(master, padx=40, pady =40)
frameLabel.pack()
w = Text(frameLabel, wrap='word', font="TimesNewRoman 37")
w.insert(12.0,text)
w.pack()
w.configure(bg=master.cget('bg'), relief='flat', state='Normal')
mainloop()
你可能會看看這個答案的第一部分http://stackoverflow.com/a/14040516。它顯示瞭如何在tkinter循環中重複調用一個函數。這基本上是你想要做的,而不是'while True'循環。 – FabienAndre
非常感謝您的快速回復。我將嘗試在tkinter循環中使用函數。 – Steve