嵌入式之总线协议:1、UART

news2024/10/7 10:19:45

嵌入式之总线协议:1、UART

目录
第一章 UART 帧格式讲解
第二章 UART 寄存器讲解
第三章 UART 编程
第四章 输出重定向
第五章 RS232、RS485协议原理与应用


第一章 UART

  • 嵌入式之总线协议:1、UART
  • 前言
  • 一、UART简介
    • 1、串行/并行
      • 1.1 并行
      • 1.2 串行
    • 2、异步
    • 3、单工和双工通信
      • 3.1 单工通信
      • 3.2 半双工
      • 3.3 全双工
    • 4、波特率
  • 二、UART帧格式
  • 三、硬件连接
  • 四、UART控制器


前言

串口认知


一、UART简介

通用异步首发器(Universal Asynchronous Receiver Transmitter),是一种通用的串行 、异步通信总线,该总线有两条数据线,可以实现全双工的发送和接收。
在嵌入式系统中常用于主机和辅助设备之间的通信。

下面对关键概念进行解析:

1、串行/并行

通信
在这里插入图片描述

1.1 并行

并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。
计算机或PLC各种内部总线就是以并行方式传送数据的。

在这里插入图片描述
总线在传递数据的时候传递的是高低电平的信号。
并行数据传输:

1.2 串行

UART:通用异步首发器(Universal Asynchronous Receiver Transmitter),是一种通用的串行、异步通信总线。
在这里插入图片描述

2、异步

基本过程;
数据发送和接收,不是同一个时钟;

3、单工和双工通信

3.1 单工通信

在这里插入图片描述

3.2 半双工

可以双向发送;但是不能同时双向发送数据;

半双工

3.3 全双工

通用异步首发器(Universal Asynchronous Receiver Transmitter),是一种通用的串行、异步通信总线。
双向发送数据,并可以同时发送。
全双工

4、波特率

波特率用于描述UART通信时的通信速度,单位:bps(bit per second),即每秒传输的bit数据量。
1 byte=8 bit;

二、UART帧格式

空闲位:空闲时候数据线上为高电平
起始位:串行通信时候需要先发低电平信号。用于区别空闲状态的信号。
数据位:数据位可以发送5-8位,发送顺序为:先发低位,后发高位;(大小端)
校验位:遵循奇偶校验,即1的个数是偶数就置1,奇数置0。校验位可有可无,根据需求,如果要求发送的速度快准确性不要求,可以不用校验位;如果要确保数据准确性,那要使用校验位。;
停止位:表示一次通信的结束,数据线上为高电平,可以为1位、1.5位、或者2位;

在这里插入图片描述
假定有一个char类型的数据:
char的定义为 8 位 :0X55
转换为 二 进 制 为 :0101 0101

在这里插入图片描述
如何区分上图:
波特率:每秒种传输的二进制位的个数;
通过掐时间,去确定一个0,或者两个0;
通过统计时间来区分发送了几个0几个1,因为波特率规定了通信速度;如波特率为1bps,那么发送 1位 需要 1s ;如果时间用了2s,那么一定是发送了 2位 ;

为了避免累积误差,所以规定一次性最多发送1字节(byte)即8个位(bit)。
异步通信:

三、硬件连接

交叉连接:
在这里插入图片描述

四、UART控制器

一般情况处理器都会集成UART控制器,方便在使用UART进行通信时候只需要对其内部的相关寄存器进行设置即可。
在这里插入图片描述

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

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

相关文章

C语言第十八课:初阶结构体

目录 前言: 一、结构体类型的声明: 1.结构的基础知识: 2.结构的声明: 3.结构成员允许的类型: 4.结构体变量的定义: 5.结构体变量的初始化: 二、结构体成员的访问: 1.结构体变量访…

[附源码]计算机毕业设计实验室管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

4 第一个程序

第一个程序 1 源程序 源程序中包括两种指令:伪指令和汇编指令 汇编指令是有对应机器码的指令,可以用CPU直接执行 伪指令没有对应的机器码,只有编译器执行不用CPU执行 1.1 segment ends segment和ends的功能是定义一个段。使用格式如下 …

[附源码]计算机毕业设计三星小区车辆登记系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

多线程中的公平锁、非公平锁、可重入锁、死锁【详细总结】

目录公平锁非公平锁公平锁和非公平锁的用法可重入锁synchronized可重入锁示例ReentrantLock的示例代码死锁死锁产生的原因常用解决死锁的方法判断程序是否发生死锁死锁的案例(面试会问)公平锁 多个线程按照申请锁的顺序去获得锁,线程会直接进…

第十六章 Dijkstra算法的讲解以及证明(与众不同的通俗证明)

第十六章 Dijsktra算法的讲解以及粗略证明一、Dijkstra的用途二、Dijkstra的思想及证明(1)相关结论及证明:结论1:必须借助中间点时某个点到终点的最短路程=该点到中间点的最短距离+中间点到终点的最短距离结…

数据分析思维(一)|信度与效度思维

信度与效度思维 1、概念 信度与效度思维通常用于在数据分析中进行更有价值的指标选择。 信度:指标的可靠程度。包括一致性及稳定性。(口径是否一致,是否具有波动性) 效度:指标的有效性。一个数据或指标的生成&…

JavaFX项目打包成可安装exe文件

开发环境&#xff1a;Windows 10 2H JDK&#xff1a;jdk1.8.0_112 IDEA&#xff1a;2020.3 1. 项目中导入插件依赖 <plugin><groupId>io.github.fvarrui</groupId><artifactId>javapackager</artifactId><version>1.6.6</version>&…

[附源码]计算机毕业设计JAVA婴幼儿玩具共享租售平台

[附源码]计算机毕业设计JAVA婴幼儿玩具共享租售平台 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM …

Java学习之多态一

目录 一、入门案例 Food类 Animal类 Master类 运行测试 分析 运行结果 问题总结 二、方法的多态 三、对象的多态&#xff08;重难点/核心&#xff09; 四个非常重要的知识点&#xff08;背诵&#xff09; 举例说明 父类-Animal类 子类-Dog类 子类-Cat类 运行-Po…

如何将数据库从 CloudKit 迁移到 Firebase

为什么要迁移 如果该服务仅支持 Apple 设备,则使用 CloudKit 和 CoreData 可能是最佳选择。但是,如果您还需要支持 Web 和 Android,情况就不同了。 当同时支持Web和Android时,可以使用CloudKit JS访问iCloud DB。但是实施起来比较困难,需要有苹果账号。 如果未来有同时支…

【滤波跟踪】基于北方苍鹰和粒子群算法优化粒子滤波器实现目标滤波跟踪附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

[nacos]nacos2.x+nginx集群搭建以及过程中遇到的坑

参考文档 nacos官方集群部署说明centos7安装并配置jdknacos2.x集群实现centos7安装mysql8使用nginx反代nacos报错 badrequest 400 环境准备 vmware虚拟机上跑的centos7 (原本内存2g 坑点之一!2g内存无法启动三台nacos集群,官方说明需要4g)centos7安装并配置jdk8 安装教程参考 …

Mongoose【node.js的优雅mongodb对象建模】

Mongoose基础运行流程&#xff1a; 文章目录Mongoose基础运行流程&#xff1a;官方 Docs 地址1. 安装&#xff1a;2. 使用&#xff1a;2.1 目录结构&#xff1a;2.2 初始化连接实例 [ 创建 DBHelper.js ]2.2.1 链接地址书写格式[ mongoose.connect&#xff08;参数格式 &#x…

java计算机毕业设计ssm网络相册设计sepo8(附源码、数据库)

java计算机毕业设计ssm网络相册设计sepo8&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。…

机器学习笔记之受限玻尔兹曼机(四)推断任务——边缘概率

机器学习笔记之受限玻尔兹曼机——推断任务[边缘概率]引言回顾&#xff1a;场景构建推断任务——边缘概率求解边缘概率与Softplus函数引言 上一节介绍了受限玻尔兹曼机中随机变量节点的后验概率&#xff0c;本节将介绍随机变量结点的边缘概率。 回顾&#xff1a;场景构建 已…

木聚糖-氨基|Xylan-NH2|木聚糖-聚乙二醇-氨基|氨基-PEG-木聚糖

木聚糖-氨基|Xylan-NH2|木聚糖-聚乙二醇-氨基|氨基-PEG-木聚糖 Xylan-NH2 木聚糖-氨基 中文名称&#xff1a;木聚糖-氨基 英文名称&#xff1a;Xylan-NH2 别称&#xff1a;氨基修饰木聚糖&#xff0c;氨基-木聚糖 PEG分子量可选&#xff1a;350、550、750、1k、2k、34k、5…

统计学-双变量相关分析-相关系数、相关比、克莱姆相关系数

双变量相关分析根据变量的数据类型不同而不同。当数值数据和数值数据计算相关性时&#xff0c;指标为相关系数&#xff1b;数值数据和类别数据计算相关性时&#xff0c;指标为相关比&#xff1b;类别数据和类别数据计算相关性时&#xff0c;指标为克里姆相关系数。 1 计算公式…

基于现代深度学习的目标检测方法综述

论文地址&#xff1a;A Survey of Modern Deep Learning based Object Detection Models 论文结构&#xff1a; 一、论文亮点&#xff08;与其他综述不同&#xff09;&#xff1a; 1、深度分析了两类检测方法&#xff1a;单步和两步检测&#xff0c;并从历史的角度分析&…

【covid 时间序列】基于matlab GUI冠状病毒病例、死亡、疫苗接种仿真【含Matlab源码 2262期】

一、⛄SEIR模型简介 1 SEIR模型简介 如果所研究的传染病有一定的潜伏期&#xff0c;与病人接触过的健康人并不马上患病&#xff0c;而是成为病原体的携带者&#xff0c;归入 E 类。此时有&#xff1a; 仍有守恒关系 S(t) E(t) I(t) R(t) 常数&#xff0c;病死者可归入 R…