对于树莓派串口进行设置,是因为我想用树莓派与外部设备连接,即将串口设置为通用串口。
1、关闭板载蓝牙功能
首先,打开你的Terminal,输入一下语句:
sudo systemctl disable hciuart
然后,编辑文档/lib/systemd/system/hciuart.service,命令如下:
sudo nano /lib/systemd/system/hciuart.service
将文档中所有的 "ttyAMA0"改成"ttyS0",总共要修改两处,修改好以后保存退出。(备注:如果没有修改的地方就不用管)
2、恢复串口使用并设置为通用串口
首先,编辑文档 /boot/config.txt,命令如下:
sudo nano /boot/config.txt
在文档的末尾,添加语句:
dtoverlay=pi3-miniuart-bt
接着,我们编辑文档 /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
这里我们要注意:该替换内容是针对于设置通用串口的,这个内容实际上是关闭了serial console,因为只有这样方可使串口变为通用,即可以使树莓派连接外部设备。如果你是想用串口连接、登录以及控制树莓派,则需要enable seiral console。
最后,我们依次执行以下命令完成所有配置并重启:
- sudo apt-get update
- sudo apt-get upgrade
- sudo reboot
完成以上步骤后,我们现在可以通过"ttyAMA0"与外部设备进行连接了。
三、测试串口
在这个部分,我将使用笔记本电脑和树莓派连接,从而达到测试串口是否可以正常使用的目的。其中,电脑需要使用USB转TTL模块来实现与树莓派的连接。
1、电脑端
我的电脑系统为win10,使用的USB转TTL模块型号为CP2102,该模块的驱动程序可以在CSDN上找到并下载。安装好驱动后,就可以直接将模块插入电脑USB接口,在电脑的“设备管理器”中我们可以看到“端口”这一选项,点开后会看到CP2102设备并显示其端口号(例:我的端口号是COM3),在设备处单击右键并选择“属性”,若可以看见其“运转正常”,则证明模块驱动安装成功并且可以正常使用。那么接下来我们就可以对其进行具体的“端口设置”,将其波特率设置为115200或9600均可,其他选项不变。最后,我们需要下载一个“串口调试助手”作为电脑的串口终端调试软件。
2、树莓派端
首先,打开树莓派的Terminal,下载一个调试时可用的实用工具:minicom,命令如下:
sudo apt-get install minicom
在minicom中我们可以对串口进行基本的配置,为了可以将配置保存为默认设置,接着,执行以下命令在minicom中对串口进行配置:
sudo minicom -s
在弹出的菜单中选择“Serial port setup”,接着,我们可以通过键入不同的字母来对这些选项进行更改。我们需要将串口更改为/dev/ttyAMA0 ,然后将波特率更改为115200或者9600(保证与所连接的外部设备的波特率相同即可),并且保证最下面的两个选项均为:NO。最后,单击回车键回到上一级菜单,并选择“Save as df1”选项,这样就可以把刚才的配置改为minicom的默认配置。配置好以后我们可以退出minicom了。
在完成了以上的准备工作以后,现在我们可以开始对串口进行具体的测试了。首先,将USB转TTL模块与树莓派GPIO口连接,将模块的TXD与树莓派的RXD连接,将模块的RXD与树莓派的TXD连接,将模块与树莓派的GND相互连接。注意,连接的时候仅连接上述三种接口即可,不要连接电源口,树莓派使用自己的外部电源,否则容易因为电压不稳定而烧坏板子。连接好以后,将模块插入电脑,接通树莓派电源。打开电脑端的“串口调试助手”,选择好端口号(在“设备管理器”中可以查看),然后点击菜单栏中的“播放”键以表示连接开始,与此同时,我们在树莓派的Terminal中使用命令打开minicom:
sudo minicom
打开后,可以随机输入,此时你会在电脑端的“串口调试助手”中发现刚刚发送的信息,反之,你也可以在电脑端输入并发送,并在树莓派中看见。