python串口收发数据
一、虚拟串口安装
链接:https://pan.baidu.com/s/1_0bwdg-XYFNYelWui7WaZA 提取码:prnz
安装过程见:虚拟串口安装与破解
二、利用虚拟串口工具,将com2和com3串口连接起来
如果无法创建端口对,可能原因:这两个端口号至少一个被占用或者软件破解失败。
三、程序示例
导入相应的依赖包,事先未安装的需要安装。
安装办法:pip install pysrial
import serial
from time import sleep
定义接收函数
def recv(serial):
while True:
data = serial.read_all()
if data == '':
continue
else:
break
sleep(0.02)
return data
主函数
serial.write((a).encode("gbk"))
:进行了重编码。
我们在python里打开COM3
,再打开串口助手,连接COM2
。(我们事先设置了COM2与COM3为串口对)
if __name__ == '__main__':
serial = serial.Serial('COM3',115200, timeout=0.5) #/dev/ttyUSB0
if serial.isOpen() :
print("open success")
else :
print("open failed")
while True:
str1 = input("请输入要发送到串口的话:")
a=str1+"\n"
#print(len(a))
serial.write((a).encode("gbk"))
sleep(0.1)
data =recv(serial)
if data != b'' :
print("receive : ",data.decode("gbk"))
运行完程序后:如果串口一直占用,我们需要关闭刚刚打开的串口。
运行指令:serial.close()
(serial为打开串口的句柄)
此外,串口通信指令可以参考:
Python实现串口通信(pyserial)过程解析