您的位置:首页 > 数码常识数码常识

pyserial读取串口数据(使用pyserial来接收和发送串口数据)

2025-05-12人已围观

pyserial读取串口数据(使用pyserial来接收和发送串口数据)
  1、python的库非常多,功能同样十分强大,在现有的库的情况下,我们没有必要去重复造轮子,拿来用就可以了,在这里我选了pyserial库。

  使用pyserial来接收和发送串口数据

  安装pyserial,使用pip工具,在cmd界面输入:pip install pyserial,等待安装完毕:

  我们查看下pyserial的文档https://pythonhosted.org/pyserial/,我们要实现一个简单的串口助手功能,那我们串口组件部分需要的功能:

  1)、可以搜索PC自带的串口;

  2)、可以配置串口;

  3)、可以打开关闭串口;

  4)、可以发送以及接收数据;

  5)、数据的格式可以以16进制或者utf-8来显示。

  如此,我们来先实现搜索本地串口,查看pyserial的文档:

  使用serial.tools.list_ports来搜索串口,新建com.py,敲入代码:

  #coding:utf-8

  import serial

  import serial.tools.list_ports

  def Get_ports():

  clist=[]

  port_list=list(serial.tools.list_ports.comports())

  if len(port_list)> 0:

  clist=[]

  for e in port_list:

  port_list_0=list(e)

  port_serial=port_list_0[0]

  clist.append(port_serial)

  print(clist)

  Get_ports()

  运行代码:

  可以看到搜索到了串口1,我的电脑自带了一个串口。

  接着我们来设置串口,包括串口名,波特率,数据位、停止位以及校验位。

  try:

  com.port=comname

  com.baudrate=115200

  com.bytesize=8

  com.stopbits=1

  com.parity=serial.PARITY_NONE

  com.open()

  except Exception as e:

  print(e)

  设置完毕后直接打开,打开完了串口还必须有一个关闭串口的功能:

  if com.isOpen():

  com.close()

  print("串口关闭")

  代码已经有了,怎么集成到我们的串口界面中去,我们将串口操作这部分做成一个类来直接调用就可以了。

  写成一个类:

  #coding:utf-8

  import serial

  import serial.tools.list_ports

  class opencom():

  def __init__(self):

  self.com=serial.Serial()

  def initcom(self,comname):

  try:

  self.com.port=comname

  self.com.baudrate=115200

  self.com.bytesize=8

  self.com.stopbits=1

  self.com.parity=serial.PARITY_NONE

  except Exception as e:

  print(e)

  def opencom(self):

  try:

  self.com.open()

  except Exception as e:

  print(e)

  return self.com.isOpen()

  def CloseCom(self):

  if self.com.isOpen():

  self.com.close()

  print("串口关闭")

  def Get_ports(self):

  clist=[]

  port_list=list(serial.tools.list_ports.comports())

  if len(port_list)> 0:

  clist=[]

  for e in port_list:

  port_list_0=list(e)

  port_serial=port_list_0[0]

  clist.append(port_serial)

  return clist

  敲入调用代码:

  c1=opencom()

  clist=c1.Get_ports()

  if len(clist)>0:

  comname=clist[0]

  c1.initcom(comname)

  if c1.opencom():

  c1.CloseCom()

  在cmd中运行:

  上面就是小居数码小编今天给大家介绍的关于(使用pyserial来接收和发送串口数据)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

  94%的朋友还想知道的:

  免费的数据恢复软件哪个好(免费数据恢复软件推荐)

  简单的excel完成率公式,好用,值得收藏的数据(excel完成率用什么公式)

  数据分析软件推荐(数据分析主流软件有哪些)

  数据统计分析快速制作的方法(数据统计分析怎么做)



  154709
 

很赞哦! ()

随机图文