大家好,这周我出差~~
之前在调试python 串口的时候也费了一些功夫,首先是搭建Python串口环境;之后是在网上找的Demo无法运行,最后是看官网的资料才入的门。。。
可爱的图标~~
一.安装Python serial
pip install pyserial
如果没有安装 python pip,执行 sudo apt install python-pip 命令。
也可以使用源码安装~
二.使用官方提供的Demo
1. 由于我使用的是ubuntu系统,在使用官方Demo前,先查看ubuntu系统是否识别Usb设备,使用ls -l /dev/ttyUSB* 命令查看是否识别Usb设备。如图:
2. 使用默认参数初始化串口
使用参数“9600,8,N,1”打开串口,不设置超时
import time
import serial
with serial.Serial('/dev/ttyUSB0') as ser:
while True:
ser.write('hello\n')
time.sleep(1)
splitstr = ser.readline()
print(splitstr)
3. 使用参数“19200, 8, N,1”打开串口,超时时间为1秒
import time
import serial
with serial.Serial('/dev/ttyUSB0', 19200, timeout=1) as ser:
while True:
ser.write('hello\n')
time.sleep(1)
splitstr = ser.readline()
if splitstr:
result = splitstr.split(',') #split string
print(result[0])
var = float(result[0]) #to number
print(var * var)
print(splitstr
简单对程序作出说明:
向另一端写数据,延时1秒,读取另一端所写入的字符串,由于设置超时时间为1秒,所以1秒过后,程序会继续执行,如果像2中未设置超时时间,则程序阻塞。程序继续执行,用逗号分割字符串并存储,之后将第一个字符串转为数字,输出其平方的结果,输出整体接收到的字符串,程序继续循环。
程序执行结果:
ubuntu 结果
调试助手结果
之所以写这篇短小的文章记录,是因为当初自己在刚开始接触时,走了一些弯路,官网才是第一手资料,共勉!