@Denisca2828

Почему не читается последовательный порт?

Хочу сделать программу на python которая читает данные с последовательного порта но почему то ничего нет. Я что то неправильно делаю
import tkinter, serial
from serial.tools import list_ports
from tkinter.ttk import Combobox
from tkinter import scrolledtext

window = tkinter.Tk()
window.title = "Serial Port Reader v0.1"
window.geometry("600x400");

baudrates = [9600, 19200, 38400, 56000, 115200, 128000, 256000]
serial_ports = list_ports.comports()
serial_ports.append("Select port");
serial_list = Combobox(window)
serial_list["values"] = serial_ports
serial_list.current(0)
serial_list.pack()
serial_list.place(height=30, width=123, x=10, y=10)
baudrate_list = Combobox(window)
baudrate_list["values"] = baudrates
baudrate_list.current(0)
baudrate_list.pack()
baudrate_list.place(height=30, width=123, x=10, y=50)
serial_data = scrolledtext.ScrolledText(window, width=54, height=25)
serial_data.pack()
serial_data.place(height=400, width=600-143, x=143, y=0)

selected_serial = serial_list.get()

while True:
	if str(serial_ports[serial_list.current()]) != "Select port":
		port = str(serial_ports[serial_list.current()])
		port = port[port.index("(")+1:port.index(")")]
		if selected_serial == port:
			ser = serial.Serial()
			ser.port = port
			ser.baudrate = baudrates[baudrate_list.current()]
			ser.open()
			s = ''
			while ser.inWaiting():
			    s += ser.read()
			serial_data.delete(1.0, tkinter.END)
			serial_data.insert(tkinter.INSERT, s)
		else:
			serial_data.delete(1.0, tkinter.END)
			selected_serial = port
	window.update()
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы