Python 在 Windows 上串口通信

串口通信需要用到一个模块 pyserial,没有的话要先安装一下:

pip install pyserial

以下是串口通信的代码

import serial
import serial.tools.list_ports

# 获取可用串口
ports = serial.tools.list_ports.comports()
for (index, port) in enumerate(ports):
	#print(dir(port))
	print(f"{index + 1} - {port.description}")

# 让用户选择串口
serial_no = input("请输入对应序号选择串口: ")
serial_no = int(serial_no)
selected_port = ports[serial_no - 1]
print(f"选择串口:{selected_port}")

# 让用户输入波特率
baudrate = input("请输入波特率: ")
baudrate = int(baudrate)

# 创建串口对象,设置参数
ser = serial.Serial()
ser.baudrate = baudrate
ser.port = selected_port.name
ser.timeout = 0.5 # Set a read timeout value

# 打开串口
try:
	ser.open()
except Exception as ex:
	# print(dir(ex))
	# print(f"strerror={ex.strerror}")
	# print(f"winerror={ex.winerror}")
	print(ex.args[0])

if ser.is_open:
	print("串口已打开")
	# 写数据
	tx_data = b"AT\r\n"
	ser.write(tx_data)
	ser.flush()
	print(f"发送 {tx_data}")
	# 读数据
	rx_data = ser.read(size=10)
	#print(rx_data.decode())
	print(f"收到 {rx_data}")
	# 关闭串口
	ser.close()
else:
	print("串口打开失败!")

你可能感兴趣的:(Python,python,windows)