树莓派系列(一)-——————树莓派usb串口的使用

写在前面:笔者对于树莓派是一个新人,主要是用来进行opencv的图像识别,因此,笔者的文章可能有许多错误,但笔者会把自己能用的都写出来。

笔者之前用的一直是树莓派3B+的自带TXRX串口,也着实出现了不少问题,比如和单片机进行通信的时候要不就是发一些乱码,要不就是不能通信,能连接上并正常通信的几率很低,这样虽然能通信,但你并不保险,尤其是树莓派开机的时候,那个串口还会发送一堆奇怪的东西。
在和学长(某大佬)说了我们的困扰之后,学长当即指出他们用的一直是usb串口,用一个ch340连着,这样数据就不会有错误。我们试了一下,效果奇佳,因而写这篇文档来记录一下。(注:有些图片来源于fhqlongteng的csdn博客)

我们ch340选用的是市面上十分普遍的一款,这样式的:
在这里插入图片描述
连接上我们的树莓派之后,在命令行输入
lsusb
即可出现所有的串口,看自己的设备是否连接上ch340,有的话就会显示;
接着输入ls -l /dev/tty*
形如
在这里插入图片描述
这里可以看到自己的ch340模块被识别成什么,可能是0,也可能是1;
接着,输入stty -F /dev/ttyUSB1(若识别为0则写0)
即可看到目前USB串口的波特率。

到这里,如果都可以用,说明USB串口可以正常使用,接着就是怎么应用。由于作者一直用的是python,下面具体写python的应用方法,用C++的话应该也不难。
python首先要有一个serial的包,在命令行输入pip list即可看到具体的包是否安装(一般来说树莓派默认安装了python3.5.3和pyserial)
在这里插入图片描述
像这样,版本可能更高一些,如果没有的话安装一下就好。
下面,在树莓派中有两个python,Linux系统自带的python2和树莓派已经安装好的python3,笔者这里用python3来写,即在ide中写,代码为:

import serial
ser=serial.Serial('/dev/ttyUSB0',9600)#如果是1就写1
ser.write('12345'.encode())#这里发的时候要有encode(),不然系统会报错格式不对

其他serial库的使用方法自行了解即可。

发布了10 篇原创文章 · 获赞 14 · 访问量 5503

猜你喜欢

转载自blog.csdn.net/qq_43725844/article/details/97682424