树莓派使用串口通信(硬件串口)

树莓派3B+

  树莓派3B+内置了一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。在树莓派3代中,由于板载蓝牙模块,硬件串口被默认分配给与蓝牙模块通信了,而把那个mini串口默认分配给了排针引出的GPIO(14,15)。
  树莓派的串口默认为串口终端调试使用,如要正常使用串口则需要修改树莓派设置。关闭串口终端调试功能后则不能再通过串口登陆访问树莓派,只能通过ssh或者远程桌面连接树莓派后进行控制。
查看默认值
在这里插入图片描述
  serial0是GPIO引脚对应的串口,serial1是蓝牙对应的串口。如图所示,serial0(GPIO串口)默认使用的是ttyS0(mini串口),serial1(蓝牙)使用的是ttyAMA0(硬件串口)。

关闭串口访问

  可以通过桌面的设置,在Raspberry Pi Configuration中将Serial Port设置为Enable,但是Serial Console都要Disable,即关闭串口控制台功能,然后重启树莓派。
在这里插入图片描述
  或者通过命令行:

sudo nano /boot/cmdline.txt

  删除console=serial0,115200,也就是关闭console,其余保持不变.

蓝牙和GPIO交换串口

  为了在树莓派3中通过GPIO使用高性能的硬件串口,我们必须将分配给蓝牙使用的硬件串口与分配给IO排针的mini串口进行对换,这必然会使得蓝牙模块的功能受到影响,不过这里我们不使用蓝牙。
  这一步很简单,只需要在/boot/config.txt加上

dtoverlay=pi3-miniuart-bt

然后重启~sudo reboot
重启之后查看映射:
在这里插入图片描述
可以发现,GPIO连接了ttyAMA0硬件串口,蓝牙连接了ttys0 mini串口。

硬件连接

  这里我使用的是USB TO TTL模块,将树莓派的串口通过USB TO TTL模块连接到电脑的usb。
在这里插入图片描述

minicom安装与启动

  minicom是linux下的一个串口调试工具。

安装minicom

sudo apt-get install minicom      #安装minicom

  启动minicom之前,得先配置一下,不然没法在minicom下输入。

  (1)sudo minicom -s
  (2)进入Serial port setup界面
  (3)时F - Hardware Flow Contorl项为Yes,按下F键就修改为No了,即关闭硬件流控,回车回到上级菜单
  (4)选择| Save setup as dfl |,然后选择 Exit from Minicom 重启minicom,这样就可以输入命令了。

启动minicom

  注意这时候启动的硬件串口

sudo minicom -D /dev/ttyAMA0 -b115200   #启动minicom

  启动之后,Ctrl-A -> Z -> E
在这里插入图片描述
  这时候,就可以输入了。

在这里插入图片描述
  测试串口收发,成功。同时可以看到图中开启的是硬件串口。在这里插入图片描述

一键三连加关注,村头带你不迷路!哈哈哈
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐