Python编程练习8:Python语言串口操作入门

串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。串口通信是工程师的必备技能,很多软硬件开发都需要用到串口设备。

python中的pyserial 模块封装了对串口的访问,兼容各种平台。

模块安装

pip install pyserial #安装serial模块
### 初始化
import serial
ser = serial.Serial('com1', 9600, timeout=1)

不同平台下的初始化

ser = serial.Serial("/dev/ttyUSB0", 9600, timeout=0.5) # 使用USB连接串行口
ser = serial.Serial("/dev/ttyAMA0", 9600, timeout=0.5) # 使用树莓派的GPIO口连接串行口
ser = serial.Serial(1, 9600, timeout=0.5)# winsows系统使用com1口连接串行口
ser = serial.Serial("com1", 9600, timeout=0.5)# winsows系统使用com1口连接串行口
ser = serial.Serial("/dev/ttyS1", 9600, timeout=0.5)# Linux系统使用com1口连接串行口

对象属性
name——设备名字
port——读或者写端口
baudrate——波特率
bytesize——字节大小
parity——校验位
stopbits——停止位
timeout——读超时设置
writeTimeout——写超时
xonxoff——软件流控
rtscts——硬件流控
dsrdtr——硬件流控
interCharTimeout——字符间隔超时

对象常用方法
ser.isOpen()——查看端口是否被打开
ser.open() ——打开端口
ser.close()——关闭端口
ser.read()——从端口读字节数据。默认1个字节
ser.read_all()——从端口接收全部数据
ser.write("hello")——向端口写数据
ser.readline()——读一行数据
ser.readlines()——读多行数据
in_waiting()——返回接收缓存中的字节数
flush()——等待所有数据写出
flushInput()——丢弃接收缓存中的所有数据
flushOutput()——终止当前写操作,并丢弃发送缓存中的数据。

你可能感兴趣的:(Python编程练习8:Python语言串口操作入门)