python 串口读取+存储+输出处理实例

研究了一晚上的成果。

	import serial
	import win32com.client
	import matplotlib.pyplot as plt
	import numpy as np
	ser = serial.Serial("COM6", 115200, bytesize = 8,timeout=0.5) # 打开串口
	print("我要开始了:")
	res=[]
	while (1):
	  ch = ser.readline(1)
	  result = ''
	  hLen = len(ch)
	  for i in range(hLen):
	    hvol = ch[i]
	    hhex = '%02x' % hvol
	    result += hhex + ' '
	  sz=[]
	  res.append(result)

	  if len(res)==100:
	    j=0
	    for i in range(len(res)-1):
	      # 十六进制转十进制
	      if "fc" in res[i]:
	        print(i)
	        sz.append(int(res[i + 1], 16)*256+int(res[i],16))
	        #print(sz)
	      else:
	        continue

	    print("asd")
	    print(type(sz[1]))

	    speaker = win32com.client.Dispatch("SAPI.SpVoice")
	    speaker.Speak("请保持均匀呼吸")
	    x = []
	    for i in range(0, len(sz)):
	      x.append(i)
	    plt.plot(x, sz)
	    plt.show()
	    print(res)
	    break

以上这篇python 串口读取+存储+输出处理实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python3 实现调用串口功能

    python调用串口,写入数据 #!/usr/bin/python3 import serial def serialTest(): try: port = "COM3" bps = 115200 timeO = 5 ser = serial.Serial(port, bps, timeout = timeO) result = ser.write("python invoke serial".encode("gbk")) print("

  • Python 实现Serial 与STM32J进行串口通讯

    Python果然是一款非常简明的语言,做东西非常流畅,今天又尝试了一下用Serial做了一个控制台的串口通讯,我用的下位机是STM32F103,搞了一个多小时就成功了,可见Python的能力之强. 说明几点注意,一是Python在windows下的串口号可以用COM来标注,此时序号从1开始,如果自己单独指定序号,则是从0开始. 另外,如果下位机串口通讯设定的非常简单的话,在Python中只需要设定好串口号和波特率即可,其余的均设为默认值.一般来说在单片机或者是嵌入式系统中的串口通讯基本都不需要设

  • 使用Python串口实时显示数据并绘图的例子

    使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:\Anaconda3\Scripts\pip-script.py' is not present."错误 使用 easy_install pip命令就能解决,换一条重新能执行安装的命令 常用方法: ser = serial.Serial(0) 是打开第一个串口 print ser.portstr 能看到第一个串口的标识,wi

  • python 串口读取+存储+输出处理实例

    研究了一晚上的成果. import serial import win32com.client import matplotlib.pyplot as plt import numpy as np ser = serial.Serial("COM6", 115200, bytesize = 8,timeout=0.5) # 打开串口 print("我要开始了:") res=[] while (1): ch = ser.readline(1) result = ''

  • python Pandas 读取txt表格的实例

    运行环境 Python 2.7 操作实例 1.原始文本格式:空格分隔的txt,例如 2016-03-22 00:06:24.4463094 中文测试字符 2016-03-22 00:06:32.4565680 需要编辑encoding 2016-03-22 00:06:32.6835965 abc 2016-03-22 00:06:32.8041945 egb 2.pandas 读取数据 import pandas as pd data = pd.read_table('Z:/test.txt'

  • python让列表倒序输出的实例

    如下所示: a = [0,1,2,3,4,5,6,7,8,9] b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象 b = a[1:3] 那么,b的内容是 [1,2] 当i缺省时,默认为0,即 a[:3]相当于 a[0:3] 当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10] 当i,j都缺省时,a[:]就相当于完整复制一份a了 b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进,缺省为1. 所以a[i:j:1]相当于a[i:j]

  • Python字符串逆序输出的实例讲解

    1.有时候我们可能想让字符串倒序输出,下面给出几种方法 方法一:通过索引的方法 >>> strA = "abcdegfgijlk" >>> strA[::-1] 'kljigfgedcba' 方法二:借组列表进行翻转 #coding=utf-8 strA = raw_input("请输入需要翻转的字符串:") order = [] for i in strA: order.append(i) order.reverse() #将列

  • Python实现读取字符串按列分配后按行输出示例

    本文实例讲述了Python实现读取字符串按列分配后按行输出.分享给大家供大家参考,具体如下: 问题: 输入一个字符串和一个数字,数字代表分为几行,需要按照给定的列存储方法存储下来之后按行拼接读出,如: 输入:TNGDWXAZQSCVBK,3 输出:TWQBNDXZSVKGAC 中间转化的时候会形成这样的图形: T   W   Q   K N D X Z S V B G   A   C 化为矩阵可能看得更清晰一点: T 0 W 0 Q 0 B N D X Z S V K G 0 A 0 C 0 0

  • 详解python实现读取邮件数据并下载附件的实例

    详解python实现读取邮件数据并下载附件的实例 实现结果图: 实现代码: #!/usr/bin/python2.7 # _*_ coding: utf-8 _*_ """ @Author: MarkLiu """ import poplib import email from email.parser import Parser from email.header import decode_header from email.utils im

  • python遍历一个目录,输出所有的文件名的实例

    python 获取一个文件夹内(包括子文件夹)所有文件的名字和路径 import os dir = "e:\\" for root, dirs, files in os.walk(dir): for file in files: print os.path.join(root,file) 或: import os path = r'e:\case' fns = [os.path.join(root,fn) for root, dirs, files in os.walk(path) f

  • 对Python 简单串口收发GUI界面的实例详解

    忙活了三个多小时,连学带做,总算是搞出来了一个具有基本功能的串口通信PC机的GUI界面,Tkinter在python中确实很好用,而且代码量确实也很少,不足的是Tkinter不自带combox,但是幸运的是我下载的2.7版本自带了包含有combox的ttk模块,于是乎问题就顺利解决了. 下面是源代码,一些错误提示功能还没有做,目前只是简单地实现了下位机与PC的通信界面,下位机还是用的STM32F103 #encoding=utf-8 __author__ = 'freedom' from Tki

  • python跳过第一行快速读取文件内容的实例

    Python编程时,经常需要跳过第一行读取文件内容.简单的做法是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作. 相应的Python代码如下: input_file = open("C:\\Python34\\test.csv") line_num = 0 for line in input_file: line_num += 1 if (line_num != 1): do_readline() 然而这样每次迭代都需要判断一次,增加了时

  • python 读取.nii格式图像实例

    我就废话不多说了,大家还是直接看代码吧~ # encoding=utf8 ''' 查看和显示nii文件 ''' import matplotlib matplotlib.use('TkAgg') from matplotlib import pylab as plt import nibabel as nib from nibabel import nifti1 from nibabel.viewers import OrthoSlicer3D example_filename = '../AD

随机推荐