Python读写串口
python
import serial
# 打开串口
serialPort = "COM5" # 串口号
baudRate = 9600 # 波特率
ser = serial.Serial(serialPort, baudRate, timeout=0.5)
print("参数设置:串口={} ,波特率={}".format(serialPort, baudRate))
print("参数设置:串口={} ,波特率={}".format(serialPort, baudRate))
# 收发数据
while(1):
str = input("请输入要发送的数据(非中文)并同时接收数据: ")
ser.write((str+'\n').encode())
print(ser.readline()) # 可以接收中文
ser.close()
遇到的错误01
NameError: name 'raw_input' is not defined解决方案
原因分析:raw_input()函数是Python 2.x版本的输入函数,而本机装的Python版本为3.x,在Python 3.x版本中的输入函数为input(),所以将代码中的raw_input()函数修改为input()函数即可。
遇到的错误02
AttributeError: module 'serial' has no attribute 'Serial'
原因分析:serial与pyserial只能安装一个
python3之后串口都改为pyserial,serial与pyserial区别不大,直接用pyserial就可以了。
而我遇到的问题是同时安装了serial与pyserial,导致报错,两者并不能同时安装,同时卸载serial与pyserial,然后只安装pyserial。