一、介绍

对于树莓派 3B+来说,他的UART功能有三种: 1、内部蓝牙使用; 2、控制终端使用; 3、与其他设备进行串口通信。

在树莓派基础实验35:USB TO TTL模块实验中学习了通过串口对树莓派进行控制台控制,让串口作为控制终端调试口即 serial console,但是在项目中常常会使用串口同其他传感器、单片机等设备进行通用串口通信。

本实验中设置树莓派的串口为通用串口与PC电脑的串口调试工具进行通信。

二、组件

★Raspberry Pi 3 B+主板*1

★树莓派电源*1

★USB TO TTL模块*1

★面包板*1(可选)

★40P软排线*1

★跳线若干

三、实验原理

(一)树莓派的串口

树莓派从大的方向来说一共出了3代,每一代的CPU外设基本相同,但内核不同,外设里面一共包含两个串口,一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。

硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠,mini串口性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供,因此mini串口有个致命的弱点是:波特率受到内核时钟的影响。内核若在智能调整功耗降低主频时,相应的这个mini串口的波特率便受到牵连了,虽然你可以固定内核的时钟频率,但这显然不符合低碳、节能的口号。

在所有的树莓派板卡中都通过排针将一个串口引出来了,目前除了树莓派3代以外 ,引出的串口默认是CPU的那个硬件串口。而在树莓派3代中,由于板载蓝牙模块,因此这个硬件串口被默认分配给与蓝牙模块通信了,而把那个mini串口默认分配给了排针引出的GPIO Tx Rx。

树莓派的串口默认为串口终端调试使用,如要正常使用串口则需要修改树莓派设置。关闭串口终端调试功能后则不能再通过串口登陆访问树莓派,只能通过ssh或者远程桌面连接树莓派后进行控制。

上图红框中就是引出的串口IO(GPIO 14/15),如果我们需要通过UART外接模块,默认情况下必须得使用性能很低的mini串口了,而且随着内核主频的变化,还会造成波特率的变化导致通信的失败,几乎很难使用。所以我们一般要恢复硬件串口(/dev/ttyAMA0)与GPIO 14/15的映射关系,使得我们能够通过GPIO使用高性能的硬件串口来连接我们的串口设备。

恢复映射关系前先看下默认的映射关系:

serial0是GPIO引脚对应的串口,serial1是蓝牙对应的串口。如图所示,serial0(GPIO串口)默认使用的是ttyS0(mini串口),serial1(蓝牙)使用的是ttyAMA0(硬件串口)。

四、实验步骤

请查看详情:

树莓派基础实验36:通用串口通信实验​www.icxbk.com

树莓派4bpython串口通信解读数据_树莓派基础实验36:通用串口通信实验相关推荐

  1. 树莓派4b ros镜像 网盘_树莓派4B的入手操作

    1.到手机器 拿到主板.散热片(散热风扇).电源.读卡器.SD卡(推荐16G以及更高).网线.其他小配件. 2.下载系统镜像 进入https://www.raspberrypi.org/ 网站 , 点 ...

  2. wireshark 抓 蓝牙数据_利用nRF Sniffer对蓝牙BLE通信数据进行嗅探和分析

    *本文作者:barcating,本文属 FreeBuf 原创奖励计划,未经许可禁止转载. 前言 本文主要介绍 Nordic 的nRF51 Dongle (PCA10031)工具的安装和配置,以及使用该 ...

  3. 树莓派是python的应用领域吗_树莓派为什么采用python语言为主要开发语言?

    回复内容: 他老爸想让更多小孩学会编程,去用电脑实现自己有趣的想法.本来打算只让这个机器跑Python(是只跑Python,像学习机一样的东西.并没有想过在上面弄一个完整的linux).但是后来动真格 ...

  4. 树莓派能直接运行python程序_树莓派怎么运行python程序

    树莓派运行Python程序的方法: 一.RaspBerry系统设置 1.首先在开发板没有通电情况下,连接硬件,以及项目中用到传感器.比如当前项目需要将LED灯插在面包板上,然后通过杜邦线将开发板和面包 ...

  5. zynq tcp如何从网口发数据_基于TCP/IP协议的电口通信

    之前有介绍过TCP/IP协议的实现是通过轻量级LWIP协议实现的,具体在FPGA中实现又可以分为多种方式,具体如下: 图8‑98 LWIP协议在FPGA中的实现方式 LWIP可以通过硬核实现或者软核实 ...

  6. 串口如何接收数据_原创分享 | S71200通过串口服务器读取MODBUS RTU设备

    此项目使用S7-1200的TCP通讯功能读取远程MODBUS RTU仪表,利用原有的串口服务器,克服了485总线传输距离的问题. 所用设备:S7-1212C ,NP3016T(三旺16口串口服务器 4 ...

  7. 树莓派3b能装java吗_树莓派3B-系统安装

    工具: 树莓派3B,感觉不同版本树莓派应该安装起来没什么区别 网线 路由器 带HDMI线的显示屏 5V2A的电源 键盘 鼠标 读卡器 16G TF卡 参考资料: 系统镜像加载和刻录 https://b ...

  8. 已 树莓派4b ros 系统 网盘_树莓派推出8GB内存版4B 搭载64位操作系统

    树莓派(Raspberry Pi)微型计算机是备受全球开发者和极客们欢迎的产品,去年6月发布的Raspberry Pi 4 Model B距今已近一年,近日树莓派推出了8 GB内存的Raspberry ...

  9. 串口通信(串口助手发送数据给单片机,单片机原封不动发给串口助手)

    话不多说直接上重点 串口内部结构 SM0和SM1为工作方式选择位 SM2 多机通信控制位,主要应用于方式2和方式3,SM2为1的时候可以利用RB8来控制是否 激活RI(当RB8=0时不激活RI,收到信 ...

最新文章

  1. POJ1523 SPF tanjar割点求块数
  2. 神器!3小时复现 Alexnet 和 word2vec!
  3. 自定义配置app.config
  4. 4.聚合aggregate
  5. 使用Axios拦截器打印前端请求日志和后端后返回日志
  6. matlab中 %s 是什么意思,ie在matlab中是什么意思
  7. POI Excel 合并数据相同的行
  8. 陕师大计算机科学学院研究生,陕师大研究生
  9. llvm vs gcc 我被雷到了, 速度相差300多倍,你还用GCC吗!【转】
  10. 一次Linux服务器***查杀经历
  11. xposed修改微信步数
  12. 基于n元语言模型整句拼音汉字转换
  13. 读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。
  14. 人有多大胆,地有多大产
  15. python哪些城市好发展_我用Python爬了各大城市的旅游数据后发现,最好玩的还是这里......
  16. Could not find a getter for name in class org.tarena.entity1.City
  17. Linux之dos2unix和unix2dos
  18. 国外可以发外链的网站,外贸网站外链平台
  19. Java代码实现ping命令
  20. 《从0开始学微服务》模块一:入门微服务的学习笔记

热门文章

  1. malloc钩子和内存泄漏工具mtrace、Valgrind
  2. SPLUNK 安装配置及常用语法
  3. 三、索引优化(5)索引设计指南
  4. python wmi读取网卡MAC地址、CPU序列号、硬盘序列号、主板序列号、BIOS序列号
  5. linux连接u盘是提示usb驱动错误,U盘提示无法访问,由于I/O设备错误,无法运行此项请求3种完美解决办法...
  6. jdbc代码_凯哥带你从零学大数据系列之数据库篇---第三章:JDBC基础
  7. 功能测试——测试流程1
  8. 强烈安利 uTools 我的生产力工具
  9. python节点之间的继承关系_python--继承关系
  10. 亲密关系沟通-【认识需求2】-建立良好沟通环境