python串口通讯模块pySerial使用随笔

时间:2021-05-16 22:26:43
最近用到了串口通讯,需要将单片机发上来的数据进行转换,还需要给单片机发一些命令,之前没有用过pySerial这玩意,网上找了一些资料,学习了以下。做个笔记,方便使用。
pyserial模块是python里面的,所以python环境是必不可少的。
使用pyserial大致步骤如下:
import serial  
ser = serial.Serial('/dev/ttyUSB0', 19200, timeout=1)  # 实例化串口号、波特率、等待时间  
print ser        # 打印串口信息  
ser.write("hello")       # 打印输出消息到串口  
ser.read() # 读取1个字节
ser.read(10) # 读取10个字节
ser.close()              # 关闭串口 

其他的一些语句:
ser.isOpen()                                           # 判断串口是否打开

关于timeout的参数定义(当程序在串口中读取数据时):
timeout=None            # 永远等待,直到有数据传过来(阻塞)  
timeout=0               # 不等待,收不到数据直接退出读取(非阻塞)  
timeout=x               # 设定等待时间(阻塞,x可以为浮点数) 

另外,定时发送串口数据就少不了定时器,python自带了time做时间处理。
使用time的大致步骤如下:
import time
time.sleep(x) # 阻塞x秒,支持浮点数