风筝
发表于: 2019-8-15 18:16:23 | 显示全部楼层

在本篇文章中,您将了解到树莓派(Raspberry Pi)串口通信的基础知识,以及如何使用串口通信将Raspberry Pi连接到Arduino开发板或PC。


什么是串口通信?

串口通信(UART)是最流行的通信协议之一。大多数处理器都支持这种双线连接。此外,许多模块和传感器使用串口通信连接到其他设备。


串口通信只需要两根线;一个用于传输数据,另一个用于接收数据。


此协议中的数据传输速率称为波特率(Baud rate)。波特率的单位是每秒位数。

rpiard-12.png


Raspberry Pi板有两种类型的UART通信。一个称为PL011,另一个称为miniUART。具有蓝牙/无线模块的Raspberry Pi开发板,默认情况下使用PL011进行UART通信。


注意:所有Raspberry Pi引脚(包括RX和TX引脚)的电压电平为3.3伏。因此,要将具有5伏电压电平的器件连接到Raspberry Pi,您应该使用电压电平转换器或电阻分流电路。

rpiard-16.compressed.jpg

您可以查看Raspberry Pi网站,了解有关Raspberry Pi串口通信的更多信息


所需的材料

●    树莓派3B或B+

●    Arduino UNO R3开发板

●    TTL转USB转换器

●    公对母跳线

●    面包板

●    1K电阻

●    Arduino IDE

●    串口终端

rpiard-required-.compressed.jpg


Raspberry Pi和PC之间的串口通信

要在Raspberry Pi板和PC之间建立串口通信,您需要一个串口转USB转换器。


电路连接

rpiard-1.jpg


按照以下步骤启动Raspberry Pi UART通信:

步骤1:将串口转USB转换器连接到Raspberry Pi开发板,如电路连接图中所示。然后插入Raspberry Pi电源并将转换器连接到PC。

步骤2:转到设备管理器,找到连接到转换器的端口号。

rpiard-3-1.jpg

步骤3:打开终端软件并对配置进行设置。

rpiard-11.png

步骤4:在Raspberry Pi中启用UART。


打开Raspberry Pi终端并输入以下命令。

1.   使用以下命令在nano编辑器中打开config.txt文件。

  1. sudo nano /boot/config.txt
复制代码

将以下代码添加到文件末尾。

  1. Enable UART
  2. enable_uart=1
复制代码

然后按Ctrl + x并按Y保存文件并关闭。


2.    重新启动Raspberry Pi。

  1. sudo reboot
复制代码

3.    检查计算机上的终端软件

rpiard-10.png

4.    断开Raspberry Pi与蓝牙模块之间的串口通信。

  1. sudo systemctl disable serial-getty@ttyS0.service
复制代码

5.    在nano编辑器中打开cmdline.txt

删除“console = serial0,115200”行并保存文件。

  1. sudo nano /boot/cmdline.txt
复制代码

6.    再次重新启动Raspberry Pi。

  1. sudo reboot
复制代码

7.    在Raspberry Pi上安装minicom终端。

  1. sudo apt-get install minicom -y
复制代码

rpiard-8.jpg

以下命令打开minicom终端,将波特率设置为115,200,并启动串口通信。

  1. minicom -b 115200 -o -D /dev/ttyS0
复制代码

执行此命令后,您应该看到以下窗口。

rpiard-9.jpg

现在,您可以测试Raspberry Pi和PC之间的串口通信。


注意:如果要查看在minicom终端中写入的命令,则需要按Ctrl + A然后在minicom终端中输入E来启用Echo模式。

rpiard-15-.compressed.jpg

要退出minicom,请先按Ctrl + A然后输入X.


Raspberry Pi和Arduino之间的串口通信

您可以使用USB线将Arduino开发板连接到Raspberry Pi。这样,您可以向Arduino提供电源电压,还可以通过串口在Arduino和Raspberry Pi之间传输信。

rpiard-14.compressed.jpg

使用以下命令,您可以以9600 bit / sec的波特率打开minicom终端。

  1. minicom -b 9600 -o -D /dev/ttyUSB0
复制代码

rpiard-13.png

现在,您可以将代码上传到Raspberry Pi开发板上,然后在Raspberry Pi和Arduino之间传输信息。

rpiard-5.jpg

以下代码将您在minicom终端中写入的任何文本从Raspberry Pi发送到Arduino。然后Arduino将相同的文本返回给Raspberry Pi。

  1. void setup() {
  2.   // put your setup code here, to run once:
  3.   Serial.begin(9600);
  4. }

  5. void loop() {
  6.   // put your main code here, to run repeatedly:
  7.   if(Serial.available()) {
  8.     String s = Serial.readString();
  9.     Serial.print("Arduino: ");
  10.     Serial.println(s);
  11.   }
  12. }
复制代码

rpiard-4.jpg


以上就是本文的全部内容。如遇到任何问题,请随时在本帖下面进行回复。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-11-7 17:59 , Processed in 0.044043 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表