qq_38226608 2017-04-26 07:45 采纳率: 0%
浏览 2848

在树莓派上使用 Python,对串口进行读写操作,遇到一个问题,下面是我的一部分代码

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)'
下位机上的接收程序是完全可以正常接收的

百思不得其解,跪求大神帮看看
图片说明

  • 写回答

1条回答

  • 普通网友 2017-04-26 08:19
    关注

    1.确认你的界面程序执行了open()
    2.确认isOpen()的值
    3.serial.PARITY_NONE是否一致
    4.打印出其他的串口属性,如波特率,可是否一致。
    5.打开后关闭串口

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题