当前位置: 首页 > 编程笔记 >

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

沃念
2023-03-14
本文向大家介绍python 串口读取+存储+输出处理实例,包括了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 串口读取+存储+输出处理实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 我有一个Arduino与2个DS18B20温度传感器连接。我对python非常(非常)陌生。我正在寻找一种读取串行输入并将其解析到sqlite数据库的方法,但这已经超出了我的能力。为什么在尝试将串行端口定义为变量时出错? 首先<代码>sys.version 我的当前,只是读取串行连接程序的输入。 我目前无法编译它。我发现这个错误的大多数结果告诉添加,但在这种情况下,它不起作用。 错误。 另外,如果

  • 我正试图通过(伪)串行连接使用处理从Arduino读取100个传感器数据条目。我使用的加工草图如下: 不幸的是,通常我的data.txt文件中存储的条目不到100个,其中一些条目(大约3-5个)在其中显示换行符。我做错了什么?Arduino IDE的串行监视器未打开!

  • 我试图读取3温度设备使用WinForm和Modbus 485协议。基本上,我必须定期向每个设备写入命令,等待响应,当我得到响应时,处理它。每个设备都有一个唯一的通信地址。为了定期发送命令,我使用了计时器。这就是我发送命令的方式和处理响应的地方: 对于每个设备,等等。这是我的serialport数据接收事件: 所以我的沟通应该是: 然后再次发送命令device1。问题是,我有时得到通信超时错误,我知

  •  KAG 中、游戏的存储/读取、是通过(*)「栞(标签)」进行的。( 对无法使用此标记的用户,请修改 MainWindow.tjs )。  关于书签的说明,也请参考一下 游戏存档文件相关 的内容。  很遗憾的是、KAG 内建的存储・读取功能还无法做到随时存档。而是需要作者自行在剧本档中加入允许存储标签、也就是必须要设定存储・读取的「场所」。(译注:KAGeXpress内建了自动存档点,在每次使用[

  • 我做了一个python程序,从串行端口读取gps数据。GPS冰球流NMEA数据语句连续插入USB时。我的程序打开端口,然后尝试读取数据,解析它,然后将其与从Arduino提取的其他数据一起写入文本文件。 我遇到的问题是,当我第一次运行程序时,有时它无法读取数据。我放入了一些Try/Exception捕获,发现以某种方式无法从GPS串行端口读取数据 如果我点击Cntrl-C几次,这似乎可以解决它遇到

  • 我正在开发一个应用程序(控制台),其中包含一个while循环,我希望允许用户暂停和恢复。经过一些研究,似乎一个额外的线程负责等待用户输入是正确的解决方案。 我已经能够实现持续等待输入的额外线程,并且还有一个kill方法,它设置flag变量来停止线程while()循环。不幸的是,除非有输入,否则while循环不会结束,只有在输入线程的while环至少完成一次后,这个kill标志才会生效。由于主线程也