美文网首页
树莓派初识串口通信

树莓派初识串口通信

作者: Simpreative | 来源:发表于2020-02-10 22:12 被阅读0次

    1.串口介绍

           串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信。

    这一对传输线包括发送数据线(TX)和接收数据线(RX),两个设备连接方式是交叉连接,即设备的发送端TX要连接到另个设备的接收端RX,此外两个设备的地线GND要接到一起才可以通信。

    通信前双方的通信格式要设置成一样的,因为这个项目中的从机已经设置好了,所以需要拿到通信协议才能知道格式。

    2.串口连接

           (1)使用树莓派自带的GPIO(不推荐):

            树莓派的电路板上有40根针脚,其中就有串行接口的引脚,但是树莓派3中的蓝牙模块占用了这其中的串口,串口想用在别的功能上还需要关闭蓝牙,非常不方便。

            (2)使用USB转串口模块(推荐):

    这种模块非常方便,淘宝上就几块钱一个,而且可以先插在电脑上调试,模块一般至少有四个接口,分别是TX、RX、GND和电源输出。

    3.串口通信编程

           因为树莓派上要使用的是Python,而且使用USB转串口模块开发,所以可以先在电脑上试一下,程序基本是通用的,需要pyserial这个模块。下面这个网页里面写了pyserial的基本的用法:

    https://blog.csdn.net/u012611644/article/details/79125234

    https://blog.csdn.net/JasonTang1992/article/details/59716319

           主要看第二个网页就行,需要注意的是打开串口那一步需要串口的设备号和波特率,下面这五种介绍了大部分系统的设置方式,第一个参数是设备号,第二个参数是波特率。

    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口连接串行口

    在Windows里可以对比插入USB模块前后,设备管理器里出现的那个串口号

    在树莓派或者Linux系统里可以进入终端然后对比/dev下USB模块插入前后出现的那个设备号,一般可能就是ttyUSB0

           然后下面就是对着那边的通信协议向串口设备write或者read数据就可以了。

    相关文章

      网友评论

          本文标题:树莓派初识串口通信

          本文链接:https://www.haomeiwen.com/subject/kqiygftx.html