树莓派4B串口交换映射(针对于在/boot文件下没有firmware文件的方法)

本文详细介绍了如何在树莓派4B上配置串口,包括理解硬件串口ttyAMA0和mini串口ttyS0的功能差异,以及如何通过修改config.txt文件实现serial0和serial1的映射,最终达到交换串口的目的。
摘要由CSDN通过智能技术生成

 树莓派环境

树莓派4B

bullseye 11

串口信息

从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单,稳定性较差,波特率由CPU内核时钟提供,受内核时钟影响。

树莓派(3/4代)板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。

serial0即GPIO映射的串口(TXD0、RXD0),默认是ttyS0,即mini串口。
serial1即板载蓝牙映射的串口,默认是ttyAMA0,即硬件串口。
我们要做的工作是将两者映射互相交换——serial0映射成ttyAMA0,serial1映射成ttyS0。

但对于树莓派3串口交换映射的方法就是在/boot/config.txt文件夹最下面加上这两行(前提是打开串口通信功能)

dtoverlay=pi3-miniuart-bt

force_turbo=1

但我们本文的重点并不在树莓派3上,所以在此不在赘述树莓派3的串口配置。

串口配置

在终端输入以下命令

ls -l /dev/serial*

可以看见我们的终端出现以下信息

lrwxrwxrwx 1 root root 7  8月 30 20:42 /dev/serial0 -> ttyS0
lrwxrwxrwx 1 root root 5  8月 30 20:42 /dev/serial1 -> ttyAMA0

但对于有些用户来说serial0并没有显示出来

所以首先我们要让这两个都能看见

在终端输入以下命令配置串口

sudo raspi-config

进入树莓派配置界面,选择第三个Interface Options(对于不同用户来说位置可能不在第三个,但是只要名字对了就行)

确定后进入如下界面,选择Serial Port

先选择关闭串口登录功能,打开硬件串口调试功能

再启用串行端口硬件

最后一直确定yes就ok了

接下来又回到了终端界面,输入

 cd /boot
 sudo vim config.txt

因为这里我们主要是没有firmware文件,所以就直接进入config.txt就可以了

一直滑到最后将enable_uart=0改为enable_uart=1就可以看见serial0了

可以在终端输入命令再确认一下

ls -l /dev/serial*

交换映射

还是一样在/boot文件夹下打开config.txt

sudo vim config.txt

在此处加上dtoverlay=disable-bt即可

最后禁用蓝牙就ok了

sudo systemctl disable bluetooth

配置完成后重启树莓派

sudo reboot

再在终端查看

ls -l /dev/serial*

就会发现串口映射已经交换成功

lrwxrwxrwx 1 root root 7  8月 30 20:42 /dev/serial0 -> ttyAMA0
lrwxrwxrwx 1 root root 5  8月 30 20:42 /dev/serial1 -> ttyS0

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值