python 用 pyserial 组件控制串口通信

1.安装pyserial包
python 用 pyserial 组件控制串口通信。
pip  install pyserial

2 .硬件连接,在设备管理器上查看串口号。

 3.配置及相应的方法

portx="COM4"
  #波特率,标准值之一:50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200
  bps=115200
  #超时设置,None:永远等待操作,0为立即返回请求结果,其他值为等待超时时间(单位为秒)
  timex=5
  # 打开串口,并得到串口对象
  ser=serial.Serial(portx,bps,timeout=timex)

ser.write(“hello") 就是往串口里面写数据

ser.close() 就是关闭ser表示的串口

ser.open() 会打开这个串口

ser = serial.Serial('COM1', 115200) 来设置波特率,当然还有专门的函数

data = ser.read()可以读一个字符

data = ser.read(20) 是读20个字符


4.效果

 

 

在使用 PySerial 和 PyQt5 实现串实时状态发现并选择的过程中,我们可以使用 QComboBox 组件来实现串的选择,使用 PySerial 库来进行串的实时状态发现。 首先,我们需要安装 PySerial 库,可以使用以下命令进行安装: ``` pip install pyserial ``` 接着,我们需要在 PyQt5 界面中添加一个 QComboBox 组件,用于显示可用的串。代码如下: ```python from PyQt5.QtWidgets import QComboBox # 创建一个 QComboBox 对象 self.combo_box = QComboBox(self) # 将 QComboBox 添加到界面上 self.layout.addWidget(self.combo_box) ``` 接着,我们需要使用 PySerial 库来实现串的实时状态发现。代码如下: ```python import serial.tools.list_ports # 获取可用的串列表 ports = serial.tools.list_ports.comports() # 遍历可用的串列表,将串添加到 QComboBox 中 for port in ports: self.combo_box.addItem(port.device) ``` 以上代码会获取所有可用的串,并将它们添加到 QComboBox 中。 最后,我们需要在 QComboBox 中选择串,以便进行通信。代码如下: ```python import serial # 获取选中的串 port_name = self.combo_box.currentText() # 创建串对象 ser = serial.Serial(port_name, 9600) ``` 以上代码会获取当前选中的串名称,并创建一个串对象以进行通信。 综上所述,我们可以使用 PyQt5 和 PySerial 库来实现串实时状态发现并选择。完整的代码示例如下: ```python from PyQt5.QtWidgets import QComboBox, QWidget, QVBoxLayout import serial.tools.list_ports import serial class SerialMonitor(QWidget): def __init__(self): super().__init__() # 创建一个垂直布局 self.layout = QVBoxLayout(self) # 创建一个 QComboBox 对象 self.combo_box = QComboBox(self) # 将 QComboBox 添加到界面上 self.layout.addWidget(self.combo_box) # 获取可用的串列表 ports = serial.tools.list_ports.comports() # 遍历可用的串列表,将串添加到 QComboBox 中 for port in ports: self.combo_box.addItem(port.device) # 为 QComboBox 组件添加回调函数 self.combo_box.currentIndexChanged.connect(self.on_serial_port_selected) def on_serial_port_selected(self): # 获取选中的串 port_name = self.combo_box.currentText() # 创建串对象 ser = serial.Serial(port_name, 9600) # 在此处进行串口通信 ``` 在以上代码中,我们创建了一个名为 SerialMonitor 的 QWidget 子类,它包含一个 QComboBox 和一个垂直布局。我们使用 PySerial 库获取可用的串列表,并将串名称添加到 QComboBox 中。在选择串时,我们使用 PySerial 创建一个串对象以进行通信。你可以在 on_serial_port_selected 函数中添加任何你需要的串口通信代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值