树莓派串口通信
Posted 谏书稀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派串口通信相关的知识,希望对你有一定的参考价值。
文章目录
一、树莓派串口介绍
- 树莓派4B一共包含两个串口,一个是硬件串口(/dev/ttyAMA0),一个是mini串口(/dev/ttyS0)。
- 硬件串口因为使用其单独的时钟源,性能高,稳定可靠,成为使用较为广泛的串口;
- 另一个mini串口性能低,功能简单,但是没有单独的时钟源,会受到内部时钟的影响,树莓派本身运行linux系统,由CPU内核时钟提供时钟源会造成卡顿等致命错误。
- 本文使用硬件串口。
二、串口通信配置
1.打开USART串口
- 终端输入
sudo raspi-config
- 选择Interface Options后回车
- 选择Serial Port后回车
- 第一个选项(would you like a login shell to be accessible over serial?)选择NO;
第二个选项(would you like the serial port hardware to be enabled?)选择 YES。
2.串口映射配置
- 查看串口映射
ls -l /dev/serial*
serial0(GPIO串口)默认使用的是ttyS0(mini串口);
serial1(蓝牙)使用的是ttyAMA0(硬件串口)
如果想使用稳定可靠的硬件串口,就要将树莓派的硬件串口与mini串口默认映射对换。而这个需求官方也考虑到了,在系统中放了一个实现这个功能的文件—stretch版本系统中的文件为/boot/overlays/pi3-miniuart-bt.dtbo。
- 默认映射对换
sudo nano /boot/config.txt
在改文件末尾加上
dtoverlay=pi3-miniuart-bt
force_turbo=1
然后ctrl+o进行写入,不修改文件名称,直接回车即可完成写入,最后ctrl+x退出该文件
- 查看修改后的串口映射
3.安装mini串口调试助手
- 输入以下指令安装mini串口调试助手
sudo apt-get install minicom
- 输入以下指令打开串口调试助手
minicom -D /dev/ttyAMA0 -b 9600
这里 -D /dev/ttyAMA0 就是指向我们打开的串口端口号,和COM1这种是一样的, -b 9600是配置波特率,这一项我们在minicom中输入 Ctrl+A 在下方也是可以看到我们的波特率的,如果不设置 -b ,波特率默认会是115200。
4. 解决打开ttyAMA0 时没有权限
sudo chmod 777 /dev/ttyUSB0
ttyUSB0 对应提示没有权限的串口,回车后解决
5.解决打开minicom串口助手的时候,键盘失灵
(1)首先在minicom串口中按下Crtl+A,然后单击 Z 进入帮助选项
(2)点击 O 进入Configure Minicom选项
(3)选择Serial port setup选项,按下 F 将 Hardware Flow Contorl 改为No,即禁用硬件流,然后退出。
注意:如果你和我一样,在minicom中连 Crtl+A 都无法显示的话,打开终端,输入
sudo minicom -s
以上是关于树莓派串口通信的主要内容,如果未能解决你的问题,请参考以下文章