今天要说说树莓派3的UART串口的使用问题,该串口问题的官方反馈及回复请参考这两篇官方博文http://www.briandorey.com/post/Raspberry-Pi-3-UART-Boot-Overlay-Part-Two
对于树莓派3 B+ 来说,他的uart 功能有三种: 1、内部蓝牙使用 2、控制终端使用 3、与其他设备进行串口通信;
然而 树莓派 3 确只提供一个硬件 uart,对应硬件接口 p14-TX/P15-RX。所有树莓派3 的串口只能是鱼与熊掌不能兼得了。
树莓派 官方系统 Raspbian Jessie releases 默认串口是给蓝牙使用。如果想让串口作为控制终端调试口即 serial console ,则需要对系统配置进行修改,关闭蓝牙并且映射 pl011 UART 到p14和p15
一、使能serial console步骤如下:
srep1:安装系统并配置系统
Raspbian Jessie releases 系统安装到sd卡上(其他系统没有测试),相信看到该博文的你这一步肯定已经完成了。 配置系统: sudo raspi-config
执行:Expand filesystem and enable serial on advanced page exit and reboot
sudo apt-get update
sudo apt-get upgrade
sudo reboot1
2
3
step2: 修改配置
编辑 /lib/systemd/system/hciuart.server 然后用 ttyS0 替换文件中的 ttyAMA0
sudo vi / /lib/systemd/system/hciuart.server1
替换文件中的 ttyAMA0 为 ttyS01
2
step3:设置 Device tree
sudo vi /boot/config.txt1
在文件末尾添加 : dtoverlay=pi3-miniuart-bt
保存->退出1
2
3
4
step4:使能串口终端 serial console
编辑 /boot/cmdline.txt 文件
sudo vi /boot/cmdline.txt
变文件内容为:
dwc_otg.lpm_enable=0 console=serial1,115200 console=tty1 root=/dev/mmcblk0p2 kgdboc=serial1,115200 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait1
保存上述文件并重启系统
sudo reboot
这个时候,你就可以用串口登录树莓派并控制输入输出了;pc端串口配置为: 115200 8n1(8位,没有校验位,1位停止位)
二、设置串口为通用串口与外部设备通信
如果你想把串口设置为通用串口,那就要关闭 serial console了。具体步骤如下:
在完成上面前3个step前提下,编辑 /boot/cmdline.txt 文件
sudo /boot/cmdline.txt1
修改文件中的内容为:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait1
退出并保存文件。
sudo reboot1
这个时候我们的串口就可以使用了,串口的设备号为 /dev/ttyAMA0 请选中你要保存的内容,粘贴到此文本框