当前位置:   article > 正文

树莓派|串口通信协议_树莓派串口通信原理

树莓派串口通信原理

1、串口通信原理

        串口通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。

        一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位(低电平),字符本身由7位数据位组成,接着字符后面是一位校验位(检验位可以是奇校验、偶校验或无校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位,停止位和空闲位都规定为高电平。实际传输时每一位的信号宽度与波特率有关,波特率越高,宽度越小,在进行传输之前,双方一定要使用同一个波特率设置。

        

 2、树莓派串口通信接口 

        树莓派的串口为UART,即通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),或叫UART(串口)控制器。使用UART控制器进行数据传输的就叫做串口通信,是一种通用全双工串行、异步通信方式。常用与嵌入式系统中的主机与辅助设备之间通信。异步表示发送器与接收器的时钟不同步。UART通信有3条线:发送线TX、接收线RX、电平参考地线GND。

接线的方法就是 :

  • VDD接树莓派的5V电源

  • GND接树莓派的ground

  • TXD接树莓派的RXD

  • RXD接树莓派的TXD

3、进行串口通信的步骤

        硬件连接:使用一根合适的串口线将串口设备连接到树莓派的GPIO引脚,具体来说是将串口的TX(发送)引脚连接到树莓派的RXD引脚,将串口的RX(接收)引脚连接到树莓派的TXD引脚。请确保正确连接。

        禁用串口终端:在Raspbian Stretch中,默认情况下,树莓派的串口被用作终端,而不是作为通用串口。因此,需要通过修改启动配置文件来禁用串口终端。

  打开终端并输入以下命令编辑配置文件:

sudo nano /boot/cmdline.txt

在编辑器中找到类似下面这段文本:

console=serial0,115200

删掉该行或者将其注释掉(在行首添加#),然后保存并退出编辑器。

启用串口硬件:打开终端并输入以下命令编辑另一个配置文件:

sudo nano /boot/config.txt

在文件的最后添加以下两行:

  1. enable_uart=1
  2. dtoverlay=pi3-miniuart-bt

配置串口参数:在终端中安装pyserial模块,该模块可以帮助您进行串口通信。输入以下命令安装pyserial:

pip install pyserial

使用Python代码进行串口通信:创建一个Python脚本,使用pyserial模块进行串口通信。以下是一个示例代码片段:

  1. import serial
  2. # 配置串口参数
  3. port = '/dev/serial0' # 串口设备路径
  4. baudrate = 9600 # 波特率
  5. # 打开串口连接
  6. ser = serial.Serial(port, baudrate)
  7. # 发送数据
  8. data = 'Hello, World!\n'
  9. ser.write(data.encode())
  10. # 接收数据
  11. response = ser.readline()
  12. print(response.decode())
  13. # 关闭串口连接
  14. ser.close()
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/762709
推荐阅读
相关标签
  

闽ICP备14008679号