#import serial
#ser = serial.Serial("COM4", 115200)
#ser.is_open()
#!/usr/bin/python
# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from Tkinter import *
from ttk import *
import sys
import platform
import serial
import time
import threading
#import ipdb
#ipdb.set_trace()
running = False
def recevie(obj):
global running
#txt0.insert(END,"start rx:\n")
print "start rx:\n"
adc_data = ''
#i = 1
while(running == True):
rx_len = obj.inWaiting()
if (rx_len):
s0 = obj.read(rx_len)
result = ''
print s0
txt0.insert(END, s0)
if len(s0) < 100:
txt0.delete(0.0,END)
else:
for i in xrange(len(s0)):
f = open("D:\est.txt",'w+')
hvol = ord(s0[i])
hhex = '%02x'%hvol
result += hhex
for i in range(1,100,1):
adc_data = result[i*6-6:i*6]
adc_data = int(adc_data,16)
if adc_data>65535:
adc_data = adc_data - int('FFFFFF',16)
hint='%d' %adc_data
f.write(hint+'\n')
f.close()
f.close()
ser.close()
print "stop rx:\n"
#txt0.insert(END,"stop rx:\n")
def COMOpen():
global running
if not isOpened.isSet():
try:
ser.timeout = 1
ser.xonxoff = 0
ser.port = comx.get()
ser.parity = chck.get()[0]
ser.baudrate = int(baud.get())
ser.bytesize = int(dlen.get())
ser.stopbits = int(slen.get())
print ser.port
ser.open()
running = True
print running
#txt0.insert(END,"True\n")
t = threading.Thread(target=recevie, args=(ser,))
t.start()
except Exception, e:
print ("COM Open Error!"),e
else:
isOpened.set()
Open.set('close')
else:
running = False
ser.close()
isOpened.clear()
Open.set('open the serial')
def Submit1():
s1 = inpt1.get()
s1 = str(s1)
str11 = '5A22800100'
str12 = 'FFFFFFFF'
s1=str11+s1+str12
print s1
s1 = s1.decode("hex")
ser.write(s1)
def f_Clear1():
print "delete all"
inpt1.delete(0.0,END)
def Submit2():
s21 = inpt21.get()
s22 = inpt22.get()
str2 = '5A21000100'
str23= 'FFFFFF'
s2=str2+s21+s22+str23
print s2
s2 = s2.decode("hex")
ser.write(s2)
def f_Clear2():
print "delete all"
txt0.delete(0.0,END)
def Submit3():
s3 = inpt3.get()
str3 = '5A2100010006'
str33= 'FFFFFF'
s3=str3+s3+str33
print s3
s3 = s3.decode("hex")
ser.write(s3)
def f_Clear3():
print "delete all"
txt0.delete(0.0,END)
def Submit4():
str4 = '5A24C00100C2'
str44 = 'FFFFFFFF'
s4=str4+str44
print s4
s4 = s4.decode("hex")
ser.write(s4)
def f_Clear4():
print "delete all"
txt0.delete(0.0,END)
def Submit5():
str5 = '5A23100100F0FFFFFFFF'
s5=str5
print s5
s5 = s5.decode("hex")
ser.write(s5)
def f_Clear5():
print "delete all"
txt0.delete(0.0 , END)
def f_Clear6():
print "delete all"
txt0.delete(0.0 , END)
def test():
dataout = ser.read()
txt0.insert(0.0,dataout)
def Plot1():
data = np.loadtxt('D:\est.txt')
# plot the first column as x, and second column as y
i = range(1,len(data)+1)
plt.plot(i, data)
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(0.0, 10.)
plt.show()
if platform.system() == 'Linux':
sp_list=['ttyUSBS0', 'ttyUSBS1']
elif platform.system() == 'Windows':
sp_list= ['COM5','COM4', 'COM2', 'COM3', 'COM1']
ser = serial.Serial()
if __name__ == "__main__":
isOpened = threading.Event()
root = Tk()
root.title('Uart by Qifan')
txt0 = Text(root,width=80,height=14,border=5)
txt0.pack(side='top')
sec0 = Frame(root,border=4)
sec0.pack(side='top',anchor='w')
sec1 = Frame(root,border=4)
sec1.pack(side='top',anchor='w')
sec2 = Frame(root,border=4)
sec2.pack(side='top',anchor='w')
sec3 = Frame(root,border=4)
sec3.pack(side='top',anchor='w')
sec4 = Frame(root,border=4)
sec4.pack(side='top',anchor='w')
sec5 = Frame(root,border=4)
sec5.pack(side='top',anchor='w')
comx = StringVar(root,sp_list[0])
Label(sec0,text='com: ').pack(side='left')
Combobox(sec0,text=comx,values=sp_list,width='12').pack(side='left')
baud = StringVar(root,"115200")
Label(sec0,text=' baud: ').pack(side='left')
Combobox(sec0,textvariable=baud,values=['4800','9600','115200'],width='12').pack(side='left')
Clear6 = StringVar(root,'Clear text')
Button(sec0,textvariable= Clear6,width=9,command = f_Clear6).pack(side='left')
dlen = StringVar(root,'8')
Label(sec1,text='data: ').pack(side='left')
Combobox(sec1,textvariable=dlen,values=['9','8','7','6','5','4'],width='12').pack(side='left')
slen = StringVar(root,'1')
Label(sec1,text=' stop: ').pack(side='left')
lst3 = Combobox(sec1,textvariable=slen,values=['1','2'],width='12').pack(side='left')
chck = StringVar(root,'None')
Label(sec1,text=' parity: ').pack(side='left')
lst4 = Combobox(sec1,textvariable=chck,values=['None','Odd','Even'],width='12').pack(side='left')
inpt1 = StringVar(root,'')
Label(sec2,text='input read: ').pack(side='left')
Entry(sec2,width=30,textvariable=inpt1).pack(side='left')
Send1 = StringVar(root,'send')
Button(sec2,textvariable=Send1,width=9,command = Submit1).pack(side='left')
Clear1 = StringVar(root,'clear')
Button(sec2,textvariable=Clear1,width=9,command = f_Clear1).pack(side='left')
inpt21 = StringVar(root,'')
Label(sec3,text='write add: ').pack(side='left')
Entry(sec3,width=15,textvariable=inpt21).pack(side='left')
inpt22 = StringVar(root,'')
Label(sec3,text='write data: ').pack(side='left')
Entry(sec3,width=15,textvariable=inpt22).pack(side='left')
Send2 = StringVar(root,'send')
Button(sec3,textvariable=Send2,width=9,command = Submit2).pack(side='left')
Clear2 = StringVar(root,'clear')
Button(sec3,textvariable=Clear2,width=9,command = f_Clear2).pack(side='left')
inpt3 = StringVar(root,'')
Label(sec4,text='PGA gain: ').pack(side='left')
Entry(sec4,width=15,textvariable=inpt3).pack(side='left')
Send3 = StringVar(root,'send')
Button(sec4,textvariable=Send3,width=9,command = Submit3).pack(side='left')
Clear3 = StringVar(root,'clear')
Button(sec4,textvariable=Clear3,width=9,command = f_Clear3).pack(side='left')
plot1 = StringVar(root,'plot')
Button(sec4,textvariable=plot1,width=9,command = Plot1).pack(side='left')
Send4 = StringVar(root,'send')
Label(sec5,text='read ADC: ').pack(side='left')
Button(sec5,textvariable=Send4,width=9,command = Submit4).pack(side='left')
Clear4 = StringVar(root,'clear')
Button(sec5,textvariable=Clear3,width=9,command = f_Clear4).pack(side='left')
Send5 = StringVar(root,'send')
Label(sec5,text='reset: ').pack(side='left')
Button(sec5,textvariable=Send5,width=9,command = Submit5).pack(side='left')
Clear5 = StringVar(root,'clear')
Button(sec5,textvariable=Clear5,width=9,command = f_Clear5).pack(side='left')
Open = StringVar(root,'open serial')
Button(sec0,textvariable=Open,width=16,command = COMOpen).pack(side='left')
isOpened = threading.Event()
root.mainloop()
uart.rar_python uart.write_python串口通信_python绘图_串口 python uart_通信
版权申诉
5星 · 超过95%的资源 177 浏览量
2022-07-14
03:28:19
上传
评论 3
收藏 2KB RAR 举报
御道御小黑
- 粉丝: 58
- 资源: 1万+
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论13