小编Dee*_*zer的帖子

在Tkinter文本框中显示从串行端口读取的处理数据时,将其发布

因此,我正在从串行连接中读取(并使用tkinter文本框显示)数据,但是为了运行测试,我无法按自己的意愿处理返回的数据。用更简单的术语来说,即使machine response = 0x1显示了,我也无法从global读取它serBuffer

在将其显示给textboxi 之前,我将从测试内部进行读取function,然后检查响应是否在中string,但是现在我将读取的数据(字符串)传递给全局变量,然后尝试读取它,似乎没有工作,除非我serBuffer = ""从中删除了readserial。但是,这导致了一个新问题。当我按下按钮发送命令时,它将发送该命令,但仅在第二次按下后以及每次之后才收到响应。因此,Fail如果我运行一次测试,我会得到一个结果,但是之后我每次都会通过。

带有所需响应的图片(test function不读取0x1并始终返回FAIL)

我无法读取并获得通过或失败的正确响应的图像

带有不期望的响应的图片(仅在第二次按下后以及每次之后才收到响应。因此,如果我运行一次测试,则结果为“失败”,但之后每次均得到通过) 。

在此处输入图片说明

import tkinter as tk
import serial
from serial import *


serialPort = "COM3"
baudRate = 115200
ser = Serial(serialPort, baudRate, timeout=0, writeTimeout=0) #ensure non-blocking


#make a TkInter Window
mainWindow = tk.Tk()
mainWindow.wm_title("Reading Serial")
mainWindow.geometry('1650x1000+500+100')




scrollbar = tk.Scrollbar(mainWindow)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)

log = tk.Text ( mainWindow, width=60, height=60, …
Run Code Online (Sandbox Code Playgroud)

python tkinter pyserial python-3.x

6
推荐指数
2
解决办法
161
查看次数

标签 统计

pyserial ×1

python ×1

python-3.x ×1

tkinter ×1