Posted by Bin Blog on September 5, 2019

前言

树莓派与其他设备的连接主要有三种:USB方式,GPIO方式,IIC方式

树莓派CPU内部有两个串口,一个是硬件串口(官方称为PL011 UART),一个是迷你串口(官方成为mini-uart)。 在树莓派2B/B+这些老版树莓派上,官方设计时都是将“硬件串口”分配给GPIO中的UART(GPIO14&GPIO15),因此可以独立调整串口的速率和模式。 而树莓派3的设计上,官方在设计时将硬件串口分配给了新增的蓝牙模块上,而将一个没有时钟源, 必须由内核提供时钟参考源的“迷你串口”分配给了GPIO的串口,这样以来由于内核的频率本身是变化的, 就会导致“迷你串口”的速率不稳定,这样就出现了无法正常使用的情况。 [原文出处] (https://blog.csdn.net/asukasmallriver/article/details/76851375)

网上又有很多教程 但是都太早了 不适用于新版树莓派 ;本文只针对树莓派串口通信收发数据使用!! 我使用的是 2018-10-09-raspbian-stretch

对于树莓派3 B+ 来说,他的uart 功能有三种: 1、内部蓝牙使用 2、控制终端调试serial console使用 3、与其他设备进行串口通信;来源

安装、配置系统

sudo raspi-config 我们可以通过键盘,到7-Advanced Options-》A1.Expand Filesystem

然后再到5-Interfacing Options-》P6.Serial,打开(这一步可以换成【开始】-【首选项】-【Raspberry Pi Configuration】-【Interfaces】-【Serial:Enable】)

更新系统: sudo apt-get update sudo apt-get upgrade sudo reboot

因为已经有了一个叫做pi3-miniuart-bt的设备树,它能够让3代树莓派禁用蓝牙然后正常使用14、15口 There is now a device tree file called pi3-miniuart-bt which makes the Raspberry Pi 3 disable the Bluetooth and map pl011 UART on pins 14 and 15 as before.

禁用蓝牙

添加设备树到/boot/config.txt以禁用3代树莓派的蓝牙 sudo nano /boot/config.txt 文末添加:dtoverlay=pi3-miniuart-bt sudo reboot

关闭serial console

需要修改 /boot/cmdline.txt sudo nano /boot/cmdline.txt 改为 dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

测试

安装 minicom

sudo apt-get install minicom sudo minicom -D /dev/ttyAMA0 -b115200

minicom使用

硬件

5V
5V
GND
TX
RX

端口号

sudo minicom Ctrl-A