import tkinter as tk
from tkinter import messagebox # import this to fix messagebox error
import pickle
import serial
ser = serial.Serial('/dev/ttyS0', 9600, parity=serial.PARITY_NONE)
login and sign up button
btn_login = tk.Button(window, text='Login', command=usr_login)
btn_login.place(x=170, y=230)
btn_sign_up = tk.Button(window, text='Sign up', command=usr_sign_up)
btn_sign_up.place(x=270, y=230)
def usr_config(usr_name):
window_config = tk.Toplevel(window)
window_config.title('config')
window_config.geometry('200x200')
print (usr_name)
var3 = usr_name
def print_selection():
value = lb.get(lb.curselection()) #从列表中光标选中的位置获取值赋给 value
var1 = '%d' %value
var3 = usr_name
var4 = var3 +'I will back in' + var1 + 'minutes'
var5 = var4.encode()
print(ser.isOpen())
ser.write(var5)
tk.messagebox.showinfo(title='Confirmation', message='Your message has been sent successfully'+ '/n' + 'message is:' +var4)
window_config.destroy()
b1 = tk.Button(window_config, text='print_selection', width=15, height=2, command=print_selection)
b1.pack()
var2 = tk.StringVar()
var2.set((11,22,33,44))
lb = tk.Listbox(window_config, listvariable=var2) #设置 listbox
list_items = [1,2,3,4]
lb.pack()
var3 = tk.StringVar()
var3.set(usr_name)
window.mainloop()
运行时不报错,但是下位机上的串口不能接收到 ser.write(var5) 通过串口发送的信息
而我直接在 IDLE 中依次输入'var ='I will back in 5 minutes''
var1 = var.encode()
“import serial”
“ser= serial.Serial('/dev/ttyAMA0',9600)”
'ser.open()'
'ser.write(var1)'
下位机上的接收程序是完全可以正常接收的