【嵌入式开发】UART

目录

一、概述

1.1 常见的通信类别/特点

1.2 常见几种通信

二、UART通信协议

2.1 UART通信介绍

2.2 UART通信协议

物理连接示意图:

三、STM32的UART接口

3.1 STM32的UART特点

3.2 STM32的UART框图分析

3.3 UART初始化步骤

3.4 STM32中UART使用


一、概述

        通信时需要关注 总线构成(硬件) 和 通信协议(软件)。

1.1 常见的通信类别/特点

        同步:指的是通信双方步调一致,一般需要通过时钟线连接双方的时钟。

        一方作为主机控制时钟(控制通信速度),另一方作为从机接收时钟。

        异步:通信双方的时钟是彼此独立的(也没有时钟线连接),一般需要使通信双方达到相同的速度。  即规定双方的波特率(bits / s)一致。

        串行:数据线只有1或2根,每次只能传输1位数据。

并行:数据线一般有8或16,每次可以传输多位数据。

        半双工:通信双方均可以给对方发送数据,但同一时间只能一方发送、另一方接收。

一般是因为数据线只有一组,所以同一时间,只有一方控制数据线。

        全双工:通信双方可以同时给对方发送数据,并同时接收对方发送的数据。一般是

        因为有多组数据线,所以同一时间,双方都可以控制自己发送数据的那组线。

1.2 常见几种通信

结合总线构成,判断其特点:

UART: Tx , Rx 异步、串行、全双工

IIC:  SCL , SDA 同步、串行、半双工

SPI:  SCK , MOSI , MISO 同步、串行、全双工

二、UART通信协议

2.1 UART通信介绍

        通用异步收发器UART(Universal Asynchronous Receiver/Transmitter),是一种串行、异步、全双工的通信协议,在嵌入式领域应用的非常广泛。

        一般将UART通信描述为异步串行通信,即串口通信,包括RS232、RS485、RS422、TTL等。 以上这些都属于串口通信,其区别是电平规范、硬件实现不同。

        所以若两个设备实现串口通信,但是由于硬件原因,使用了不同的电平规范,则需要在通信中使用电平转换芯片。例如有CH340芯片(TTL和USB电平转换),用于STM32芯片和电脑进行串口通信。

2.2 UART通信协议

        UART作为异步串行通信协议的一种,工作原理是将传输数据的每个二进制位一位接一位地传输。在UART通信协议中,信号线上的状态为高电平时代表‘1’,信号线上的状态为低电平时代表‘0’。由于异步通信两个uart设备之间通信的时候时钟线,这时候就需要在两个uart设备上指定相同的传输速率,以及空闲位、起始位、校验位、结束位,也就是遵循相同的协议。

        通信速度:双方一致即可,单片机中常用波特率 1200、2400、4800、9600、19200、38400、115200

        常用波特率一般有以下特点:能够用单片机波特率生成器生成,误差率小;在能接受的误差范围内,波特率较大。

        数据帧格式:一帧数据构成, 1位起始位 + 5~8位数据位 + 0~1位校验位 + 0.5/1/1.5/2位停止位

        起始位:1位低电平,标志一帧数据开始

        数据位:5~8位,传输的有效数据

        校验位:0~1位,无校验/奇校验/偶校验(数据位和校验位中逻辑’1’个数)

        停止位:0.5/1/1.5/2位高电平,标志一帧数据结束

        通信双方对一帧数据的规定必须一致。

        传输数据方向:先传送数据低位,一对一通信。

物理连接示意图

三、STM32的UART接口

3.1 STM32的UART特点

● 全双工异步通信

● 发送器和接收器具有单独使能位

● 传输检测标志:(标志一般对应外设寄存器中的某个位,通过这个位的状态 检测外设工作状态)

— 接收缓冲区已满

— 发送缓冲区为空

— 传输结束标志

● 奇偶校验控制:

— 发送奇偶校验位

— 检查接收的数据字节的奇偶性

● 十个具有标志位的中断源:

— CTS 变化

— LIN 停止符号检测

— 发送数据寄存器为空

— 发送完成

— 接收数据寄存器已满

— 接收到线路空闲

— 溢出错误

— 帧错误

— 噪声错误

— 奇偶校验错误

3.2 STM32的UART框图分析

3.3 UART初始化步骤

        1、将使用到GPIO引脚复用为相应的UART的Tx和Rx(引脚初始化)

        2、UART外设初始化(激活UART、数据帧设置、发送/接收器使能、UART使能),在stm32f4xx_rcc.c , stm32f4xx_gpio.c , stm32f4xx_usart.c 找到实现以上功能的函数

3.4 STM32中UART使用

        通过对数据寄存器进行写操作,控制发送的内容。当接收数据后,通过对数据寄存器及逆行读操作,读出接收的内容。发送和接收控制使能是独立的,但是发送和接收的速度是一致的实现UART通信时,也会有GPIO配置【GPIO是芯片和外界数据交流的唯一通道】由于此时相应的GPIO引脚需要作为另一片上外设UART的发送/接收引脚(Tx/Rx),故将相应的引脚配置为复用模式,且将之具体复用为相应UART的Tx和Rx。

注意:串口助手的设置,如波特率、停止位、数据位、校验位等,必须要和STM32程序中设置匹配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网技术-第4章物联网通信技术-4.1无线网络

目录 1. 无线通信概念 (1)有线与无线 (2)电磁波的频谱 (3)频段的划分 (4)调制与解调 (5)调制技术 (6)信道的复用 (…

【ARMv8/v9 GIC 系列 4.3 -- GIC 中断控制系统寄存器 ICC_SRE_ELn 使用介绍】

文章目录 GIC 中断控制系统寄存器 ICC_SRE_ELn寄存器位域介绍Interrupt BypassBypass IRQBypass FIQBypass 配置GIC 中断控制系统寄存器 ICC_SRE_ELn ICC_SRE_EL3是中断控制器系统寄存器(Interrupt Controller System Register),用于控制在异常级别3(EL3)下,对GIC CPU接口…

无版权图片素材搜索网站,解决无版权图片查找问题

在数字内容创作领域,图片素材的选择至关重要。一张高质量、合适的图片不仅能够吸引读者的眼球,还能有效传达信息。然而,找到既免费又无版权限制的图片素材并非易事。小编将为大家介绍几个解决这一问题的无版权图片素材搜索网站,这…

PyMuPDF 操作手册 - 05 PDF的OCR识别等

文章目录 六、PyMuPDF的OCR识别6.1 使用 Tesseract进行OCR6.2 使用MuPDF进行OCR6.3 使用 Python 包easyocr进行OCR识别6.4 使用 Python ocrmypdf包进行OCR识别6.5 将图像批量OCR并转换为PDF七、PDF附加、嵌入、批注等7.1 附加文件7.2 嵌入文件7.3 从文档中获取所有批注六、PyMu…

【链表经典面试题】LeetCode138.复制带随机指针的链表(链表深拷贝)

📇文章目录 🚀题目描述🚀思路1:🚀思路2:🚀完整代码 🚀题目描述 解读: 题目意思就是 给你一个链表 这个链表中除了有next指针之外 还有一个指向这个链表的随机位置的一个指…

虚函数 虚表指针

虚函数表和虚表指针 1,虚函数的含义 用virtual声明类的成员函数称之为虚函数 2,作用 用于实现多态 存在继承关系,子类继承父类 子类重写了父类的virtual function 子类以父类的指针或者引用的身份出现 3,虚函数的实现原理 其中的…

JavaScript知识点大总结来了-------这一篇就足够啦!!!

JavaScript基础知识 一、对象的使用 1、创建对象 这里创建对象的方法我们采用最常用的一种&#xff1a; //第一种 <script>var Person {name: "zhangsan",age: "19",weight: "140",hight: "170",print:function(){console.…

山东济南比较出名的起名大师的老师,中国最厉害的改名大师颜廷利:短命的小草,年年自损;长寿的大树,万古长青。。。(升命学说)

在中国第一起名大师的老师颜廷利教授的《升命学说》中&#xff0c;通过“净化论”、“和合法则”、“唯悟主义”以及“镜正理念”的阐述&#xff0c;我们得以窥见生命的不同维度。他以自然界中短命的小草与长寿的大树为例&#xff0c;揭示了生命形态的对比与哲理。 小草&#…

ADI Trinamic TMC2300 完美用于相机镜头的马达驱动芯片方案

TMC2300-LA是一款用于高达 1.2A RMS 的两相步进电机的低压驱动芯片&#xff0c;低电压的步进电机驱动器是用于电池供电的、空间和待机功率临界驱动器应用。它的静音驱动技术StealthChop™能够为便携式&#xff0c;家庭和办公应用程序的非窃听运动控制&#xff0c;确保安静&…

Java宝藏实验资源库(5)字符流

一、实验目的 掌握输入输出流的基本概念。掌握字符流处理类的基本结构。掌握使用字符流进行输入输出的基本方法。 二、实验内容、过程及结果 **12.12 (Reformat Java source code) Write a program that converts the Java source code from the next-line brace style to…

RPCMon:一款基于ETW的RPC监控工具

关于RPCMon RPCMon是一款基于事件跟踪的WindowsRPC监控工具&#xff0c;该工具是一款GUI工具&#xff0c;可以帮助广大研究人员通过ETW&#xff08;Event Tracing for Windows&#xff09;扫描RPC通信。 RPCMon能够为广大研究人员提供进程之间RPC通信的高级视图&#xff0c;该…

WPF 深入理解一、基础知识介绍

基础知识 本系列文章是对个人 B站 up 微软系列技术教程 记录 视频地址 https://www.bilibili.com/video/BV1HC4y1b76v/?spm_id_from333.999.0.0&vd_source0748f94a553c71a2b0125078697617e3 winform 与 wpf 异同 1.winform 项目结构 编辑主要是在 Form1.cs(页面)&#…

顶顶通呼叫中心中间件-机器人测试流程(mod_cti基于FreeSWITCH)

感兴趣的话可以点后面链接添加联系方式顶顶通小孙 一、打开ccadmin-web并且创建分机 1、登录ccadmin-web 登录地址&#xff1a;http://ddcti.com:88 登录之后根据下图去登录ccadmin-web系统。 2、创建分机 点击呼叫中心 -> 点击分机设置 -> 点击新增&#xff0c;点击…

技术管理转型之战:决策之道-管理中的智慧与策略

文章目录 引言一、决策的重要性二、常见的决策方式1. 理性决策&#xff08;Rational Decision Making&#xff09;2. 有限理性&#xff08;Bounded Rationality&#xff09;3. 直觉决策&#xff08;Intuitive Decision Making&#xff09;4. 循证管理&#xff08;Evidence-Base…

聚焦 Navicat 17 新特性 | 查询与配置的革新之处

随着 Navicat 17 的发布&#xff0c;引起业界热烈讨论与关注&#xff0c;这也标志着 Navicat 的产品力再次飞跃。新版本引入的众多创新特性极大地提升了用户在数据库管理和数据分析方面的体验&#xff0c;涵盖模型设计与同步、数据字典、数据分析&#xff08;data profiling&am…

图说SpringCloudStream消息驱动

SpringCloud Stream消息驱动实现原理 通过定义Binder绑定器作为中间层&#xff0c;实现了应用程序和消息中间件之间实现细节的隔离。通过向应用程序暴露统一的Channel通道&#xff0c;可以让应用程序不再需要考虑各种不同的消息中间件实现的兼容性问题。当需要升级消息中间件&a…

第九届世界渲染大赛什么时候开始举办?

​第九届世界渲染大赛即将开启&#xff0c;全球设计师和艺术家将汇聚一堂&#xff0c;展现3D艺术的创新与美感。敬请期待这场业界顶级的视觉盛宴&#xff0c;让我们共同关注大赛的启幕时刻。 第九届世界渲染大赛开始时间 预计时间&#xff1a;2024年7月(中旬) 报名方法&#…

服务端代码编写中MySql大小写在Java中报错问题解决

报错信息&#xff1a; 原因&#xff1a;MySql和Java变量大小写产生的冲突。 经过查阅各个博客等&#xff0c;得出浅显结论&#xff08;不一定对&#xff09;&#xff1a;MySql大小写不敏感&#xff0c;Java大小写敏感&#xff0c;当Javabean转为MySql数据库表时&#xff0c;Ja…

高效处理大数据:Kafka的13个核心概念详解

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 大家好,我是你们的小米!今天我们来深入探讨一下Kafka这个强大而复杂的数据流平台。Kafka被广泛应用于高吞吐量、低延迟的数据流应用场景中。那么,我…

名校介绍|英国六所红砖大学

​近年来由于美国的拒签率增加&#xff0c;很多公派申请者&#xff0c;尤其是CSC资助的访问学者、公派联合培养学生及博士后研究学者&#xff0c;把出国目标改为其它发达国家&#xff0c;尤以英国居多&#xff0c;本文知识人网小编就重点介绍六所英国红砖大学。 我们在“英国大…