<p>您应该使用<code>after</code>定期运行代码。你知道吗</p>
<p>我不能测试,但我会的</p>
<pre><code>from tkinter import *
import serial
from time import strftime
#
def ligar():
global cont
cont = not cont
if cont:
conexao.write( b'1' )
ligar['text'] = 'Desligar led'
else:
conexao.write( b'2' )
ligar['text'] = 'Ligar led'
def agendar():
comeco = start.get()
final = limit.get()
current = strftime('%H:%M:%S')
if comeco == current:
conexao.write( b'1' )
# run again after 1000ms (1s)
janela.after(1000, agendar)
elif final == current:
conexao.write( b'2' )
conexao = serial.Serial('COM3', 9600, timeout=0.5)
cont = False
janela = Tk()
ligar = Button(janela, command=ligar, text='ligar', width="60")
ligar.grid(row=1)
texto = Label(janela, text='Defina o começo:')
texto.grid(row=2)
start = Entry(janela)
start.grid(row=3)
texto2 = Label(janela, text='Defina o fim:')
texto2.grid(row=4)
limit = Entry(janela)
limit.grid(row=5)
salvar = Button(janela, width="30", text='Salvar Horarios', command=agendar)
salvar.grid(row=6)
janela.mainloop()
</code></pre>