ubuntu树莓派3/4B+的GPIO硬件串口通信

本文档详细介绍了如何在Ubuntu 18.04和ROS melodic环境下,针对树莓派3/4B+进行GPIO硬件串口与mini串口的映射关系交换,以及串口功能配置。主要内容包括查看映射关系、编辑配置文件、禁用蓝牙、串口功能配置、连接测试和错误排查。通过这些步骤,可以实现GPIO串口的稳定通信。
摘要由CSDN通过智能技术生成

一、概要

树莓派3/4B+
melodic ROS+Ubuntu18.04
特别指出,不想要禁用蓝牙功能的树莓派4b请参考树莓派4b专用配置;因个人需求,混用3B和4B的树莓派,所以统一按照下方流程进行配置。

二、树莓派硬件常识

树莓派引脚图
上图是最常见的树莓派通用40pin引脚图,对于树莓派1、2、3、4有以下共同特征:
树莓派外设串口分为两类:

  1. 硬件串口(PL011 UART0)serial1(/dev/ttyAMA0)
    该串口由硬件实现,有单独的波特率时钟源,可靠性高。
  2. mini串口(mini UART1)serial0(/dev/ttyS0)
    该串口没有波特率专用的时钟源,而由CPU内核时钟提供。波特率容易受到内核时钟的影响,性能低,功能简单。
树莓派板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。

对于树莓派4B,在上述两个串口基础上,新增了4个PL011串口:

UART2:  TXD2-->GPIO0       RXD2-->GPIO1
UART3:  TXD3-->GPIO4       RXD3-->GPIO5
UART4:  TXD4-->GPIO8       RXD4-->GPIO9
UART5:  TXD5-->GPIO12      RXD5-->GPIO13

(此处引用自博主TEDxPY【树莓派 4 UART 多串口配置通信】一文

总的来说,我们需要将想要用的GPIO14/15口从原有的ttyS0作出如下映射关系转变:
UART0: TXD0 -> GPIO14 RXD0 -> GPIO15 - ttyAMA0
UART1: tty

  • 10
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值