def uart_init(self):
global uart_name_list, uart_desc_list, count
self.plainTextEdit.setReadOnly(1)
self.com = QSerialPort()
port_numb = QSerialPortInfo.availablePorts()
for info in port_numb:
if info.portName().count('COM', 0, len(info.portName())) != 0:
uart_str_desc = info.description().split()
uart_str_name = info.portName().split()
uart_name_list.append(uart_str_name[0])
uart_desc_list.append(uart_str_desc[0])
else:
# print("uart_desc_list = %s" % uart_desc_list)
# print("uart_name_list = %s" % uart_name_list)
count = str(uart_name_list).count('COM', 0, len(str(uart_name_list)))
# print("count= %s" % count)
if count > 256:
QMessageBox.critical(self, '错误', '连接串口太多')
else:
for i in range(0, count):
self.cmb_port_name.addItem(uart_name_list[i] + ' ' + uart_desc_list[i])
在使用PyQt5 串口通信的过程中,如果串口连接多了,就不好分辨,因此写了一个获取串口信息的例子,加入了combobox中,可供使用时选择。