python串口调试助手_python 串口调试工具源码
【实例简介】tkinter的GUI,pyserial模块
【实例截图】
【核心代码】
'''
if(self.Status == True):
self.ser = serial.Serial(self.port.get(), int(self.baud.get()), timeout=30)
self.Btn.set('关闭')
self.Status = False
t = threading.Thread(target=self.get_thread)
t.start()
else:
self.Btn.set('打开')
self.Status = True
self.ser.close()
'''
import tkinter as tk
from tkinter import ttk
import serial
import threading
class Scom:
def get_thread(self):
while True:
if(self.Status == False):
n = self.ser.inWaiting()
if n:
self.get_data.insert('end', self.ser.read(n).decode('utf-8'))
else:
break
print('退出线程')
def dakai(self):
if self.Status == True:
self.ser = serial.Serial()
self.ser.port = self.port.get()
self.ser.baudrate = int(self.baud.get())
self.ser.timeout = 2
self.ser.open()
if self.ser.isOpen():
self.Status = False
self.thread_read = threading.Thread(target=self.get_thread)
self.thread_read.start()
self.Btn.set('关闭')
else:
self.Status = True
self.Btn.set('打开')
self.thread_read.join()
self.ser.close()
def send(self):
self.ser.write(self.sendstr.get().encode('utf-8'))
def __init__(self):
__win = tk.Tk()
__win.title('串口工具')
__win.geometry('300x300')
__win.resizable(False, False)
tk.Label(__win, text='端口号').grid(row=1, column=1)
tk.Label(__win, text='波特率').grid(row=2, column=1)
self.port = tk.StringVar()
__plist = ttk.Combobox(__win, textvariable=self.port, width=12, state='readonly')
__plist['values'] = ('COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9')
__plist.current(0)
__plist.grid(row=1, column=2)
self.baud = tk.StringVar()
__blist = ttk.Combobox(__win, textvariable=self.baud, width=12, state='readonly')
__blist['values'] = ('9600', '19200', '38400', '115200')
__blist.current(3)
__blist.grid(row=2, column=2)
self.Btn = tk.StringVar()
self.Btn.set('打开')
tk.Button(__win, textvariable=self.Btn, command=self.dakai, width=6).grid(row=3, column=1)
tk.Button(__win, text='发送', command=self.send, width=6).grid(row=4, column=1)
self.sendstr = tk.StringVar()
tk.Entry(__win, textvariable=self.sendstr, width=20).grid(row=4, column=2)
tk.Label(__win, text='接收数据').grid(row=5, column=1)
self.frm = tk.Frame(__win)
self.frm.grid(row=6, column=2)
self.get_data = tk.Text(self.frm, height=10, width=20)
self.bar = tk.Scrollbar(self.frm)
self.bar.config(command=self.get_data.yview)
self.get_data.config(yscrollcommand=self.bar.set)
self.bar.pack(side=tk.RIGHT, fill=tk.Y)
self.get_data.pack(side=tk.LEFT, fill=tk.BOTH, expand=1)
self.Status = True
__win.mainloop()
Scom()
python串口调试助手_python 串口调试工具源码相关推荐
- 66个Python练手项目,附源码
前言: 不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行. 这里整理了66个Python实战项目列表,都有完整且详细的教程,你可以从 ...
- python redis事务_python redis事务源码及应用分析
在多个客户端同时处理相同的数据时,不谨慎的操作很容易导致数据出错.一般的关系型数据库中有事务保证了数据操作的原子性,同样Redis中也设置了事务,可以理解为"将多个命令打包,然后一次性.按顺 ...
- 用python表白代码_python浪漫表白源码
要知道我们程序猿也是需要浪漫的,小博我之前在网上搜寻了很多代码,确发现好多都不是最新的,所以自己就整理了一下代码,现在与广大博友们分享下 我们需要用到的包 使用pip install +(包名) tu ...
- python程序实例源代码-Python 神经网络手写识别实例源码
深度学习和神经网络对很多初学者来说都是摸不着头脑,今天分享一个完整的手写识别的实例,学习和理解了这个实例代码和过程就基本上掌握了神经网络. 1.构建神经网络类 network_claas.py #!/ ...
- 熬夜整理出了70个清华大佬都在用的Python经典练手项目【附源码】
我们都知道,不管学习那门语言最终都要做出实际的东西来,而对于编程而言,这个实际的东西当然就是项目啦,不用我多说大家都知道学编程语言做项目的重要性. 于是,小编熬了几个通宵,终于整理出了70个清华大佬都 ...
- c调用易语言串口,易语言串口API源码
易语言串口API源码系统结构:ReadCommPure,BuildCommDCB,CreateFilea,关闭句柄a,SetCommState,ReadFileA,GetCommState,Write ...
- 前端进阶-手写Vue2.0源码(三)|技术点评
前言 今天是个特别的日子 祝各位女神女神节快乐哈 封面我就放一张杀殿的帅照表达我的祝福 哈哈 此篇主要手写 Vue2.0 源码-初始渲染原理 上一篇咱们主要介绍了 Vue 模板编译原理 它是 Vue ...
- 教你用python制作人脸卡通画(附源码)
教你用python制作人脸卡通画(附源码) 效果展示: 让我们开始学习之路: 原理:利用第三方人脸接口将图像人脸化 第三方接口注册地址:https://ai.minivision.cn/#/login ...
- 精仿交易猫手游1:1源码可运营 支持二维码收款
介绍: 精仿交易猫手游1:1源码可运营 支持二维码收款 源码安装需要asp主机 后台地址/admin 帐号admin密码admin 网盘下载地址: https://zijiewangpan.com/w ...
- 白鹭引擎egert+PHP后端手游宠物小精灵题材源码
白鹭引擎egert+PHP后端手游宠物小精灵题材源码下载 安卓+IOS+H5三端同步完整源码,MYSQL数据库,内含完整策划文档,卡牌类型的竖版游戏源码.前端是type script代码 后端是 PH ...
最新文章
- android6.0 wifi流程,[RK3288][Android6.0] WiFi之从Linkspeed看获取流程
- Android—热修复实践
- droidbox官网
- X++中对字符串进行操作的函数
- 剑指offer面试题09. 用两个栈实现队列(队列、栈)
- wpf之代码设置背景图片
- java url解码_URL的编码和解码
- Nginx入门5:搭建静态资源服务器;(入门级演示,没多少内容;)
- AutoCAD二次开发——引线标注
- 【MOOC手写体】王文敏教授.《人工智能原理》 第10章 机器学习的任务 Part5 C10.2 Classification 分类...
- 计算机计时器原理,定时器和计数器-微机原理与接口技术.DOC
- 获取高匿代理ip的想法思路
- 集线器,路由器,交换机的作用和区别是什么
- Arduino初初教程8——模拟量输出
- 在线时间戳 (Unix) 转换工具
- SCT2450,SCT2450Q,降压DCDC
- ArcGIS地质图矢量化技巧概要
- fluent并行 linux_Fluent17.2在基于Linux下PC集群的并行计算.pdf
- 由三维面部先验指导的面部超级分辨率 (读书笔记)
- 谷歌54亿收购Mandiant:提高自身谷歌云竞争性