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 yalmip 可转移负荷的简单建模出错,如何解决?
  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?