通讯协议学习之路:USART协议理论

通讯协议之路主要分为两部分,第一部分从理论上面讲解各类协议的通讯原理以及通讯格式,第二部分从具体运用上讲解各类通讯协议的具体应用方法。

后续文章会同时发表在个人博客(jason1016.club)、CSDN;视频会发布在bilibili(UID:399951374)

一、uart和usart的区别

UART与USART都是单片机上的串口通信,他们之间的区别如下:

首先从名字上看:

UART:universal asynchronous receiver and transmitter通用异步收/发器

USART:universal synchronous asynchronous receiver and transmitter通用同步/异步收/发器

从名字上可以看出,USART在UART基础上增加了同步功能,即USART是UART的增强型,事实也确实是这样。但是具体增强到了什么地方呢?

其实当我们使用USART在异步通信的时候,它与UART没有什么区别,但是用在同步通信的时候,区别就很明显了:大家都知道同步通信需要时钟来触发数据传输,也就是说USART相对UART的区别之一就是能提供主动时钟。如STM32的USART可以提供时钟支持ISO7816的智能卡接口。

  1. 同步与异步:USART支持同步和异步传输,而UART只支持异步传输。同步传输使用外部时钟信号来同步数据传输,而异步传输使用起始位、数据位、停止位等来标识数据的开始和结束。
  2. 时钟信号:USART可以使用外部时钟信号来同步数据传输,这使得它可以在高速传输中实现更高的可靠性和精确性。UART没有内置的时钟信号,只能使用异步传输。
  3. 传输速率:由于USART支持同步传输,因此它可以在更高的传输速率下工作。UART通常用于较低的传输速率,如串口通信。
  4. 数据格式:USART支持多种数据格式,包括数据位数、校验位和停止位的配置。UART通常只支持固定的数据格式,如8个数据位,无校验位和1个停止位。
  5. 错误检测:由于USART支持同步传输和校验位,因此它可以提供更可靠的错误检测和纠正。UART通常没有内置的错误检测机制。

总的来说,USART相对于UART具有更高的灵活性和可靠性,适用于更高速的数据传输和更复杂的通信需求。UART则更简单、更常见,适用于低速的串口通信。选择使用USART还是UART取决于具体的应用需求和硬件支持。

二、USART协议

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是一种通用的串行通信协议,支持同步和异步传输。它可以用于在计算机和外部设备之间进行数据传输。

USART协议定义了数据的传输格式和通信参数,包括数据位数、校验位、停止位、波特率等。下面是USART协议的一些关键特点:

1. 数据格式:USART可以配置不同的数据位数,通常支持5、6、7或8个数据位。可以选择是否使用校验位来检测数据的完整性。可以选择使用1或2个停止位来标识数据的结束。

2. 传输模式:USART支持同步和异步传输。同步传输使用外部时钟信号来同步数据传输,可以实现更高的可靠性和精确性。异步传输使用起始位、数据位、停止位等来标识数据的开始和结束。

3. 波特率:USART的波特率定义了数据传输的速率,表示每秒传输的位数。常见的波特率包括9600、115200等。波特率的选择需要考虑通信双方的硬件支持和传输距离等因素。

4. 通信模式:USART可以配置为全双工或半双工模式。全双工模式允许同时进行发送和接收操作,而半双工模式只允许发送或接收操作。

5. 错误检测:USART可以提供一些错误检测机制,如奇偶校验、帧错误检测等。这些机制可以帮助检测和纠正数据传输中的错误。

USART通常用于串口通信,可以连接各种外部设备,如传感器、显示器、无线模块等。它在嵌入式系统、通信设备、工业控制等领域得到广泛应用。使用USART进行通信需要双方设备的串口配置相匹配,以确保正确的数据传输。

三、USART怎么实现同步通信

要实现USART的同步通信,需要使用外部时钟信号来同步数据传输。下面是一种常见的同步通信方式:

1. 配置USART为同步模式:首先,需要将USART配置为同步模式。这通常涉及设置USART的控制寄存器,以选择同步模式和设置其他通信参数,如数据位数、校验位和停止位等。

2. 连接外部时钟信号:在同步模式下,需要连接外部时钟信号到USART的时钟引脚。这个时钟信号将用于同步数据传输。

3. 数据传输:在同步模式下,数据的传输是通过时钟信号来同步的。发送方在每个时钟周期中将数据位发送到USART的数据引脚,接收方在相同的时钟周期中读取数据位。发送方和接收方必须使用相同的时钟信号来保持同步。

4. 时钟信号的配置:时钟信号的频率和相位需要在发送方和接收方之间进行协商和配置。发送方和接收方必须使用相同的时钟频率和相位来保持同步。这通常需要在通信双方之间进行协商和配置。

需要注意的是,同步通信需要外部时钟信号的支持,并且在配置时需要确保发送方和接收方使用相同的时钟频率和相位。同步通信可以提供更高的可靠性和精确性,适用于一些对数据传输要求较高的应用场景。但是,同步通信也需要更复杂的硬件支持和配置,相对于异步通信来说更为复杂。

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

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

相关文章

易点易动设备管理系统:提升生产企业设备保养效率的利器

在现代生产企业中,设备保养是确保生产线稳定运行和产品质量的关键环节。然而,传统的设备保养方式往往面临效率低下、数据不准确等问题,影响了生产效率和竞争力。随着科技的进步,易点易动设备管理系统应运而生,以其智能…

短视频矩阵系统/pc、小程序版独立原发源码开发搭建上线

短视频剪辑矩阵系统开发源码----源头搭建 矩阵系统源码主要有三种框架:Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架,提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框架,用于将数…

【算法训练-排序算法 三】【排序应用】合并区间

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【合并区间】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为&…

05在IDEA中配置Maven的基本信息

配置Maven信息 配置Maven家目录 每次创建Project工程后都需要设置Maven家目录位置,否则IDEA将使用内置的Maven核心程序和使用默认的本地仓库位置 一般我们配置了Maven家目录后IDEA就会自动识别到conf/settings.xml配置文件和配置文件指定的本地仓库位置创建新的P…

6-8 舞伴问题 分数 15

void DancePartner(DataType dancer[], int num) {LinkQueue maleQueue SetNullQueue_Link();LinkQueue femaleQueue SetNullQueue_Link();// 将男士和女士的信息分别加入对应的队列for (int i 0; i < num; i) {if (dancer[i].sex M){EnQueue_link(maleQueue, dancer[i]…

vim、gcc/g++、make/Makefile、yum、gdb

vim、gcc/g、make/Makefile、yum、gdb 一、Linux编辑器vim1、简介2、三种模式的概念&#xff08;1&#xff09;正常/普通/命令模式(Normal mode)&#xff08;2&#xff09;插入模式(Insert mode)&#xff08;3&#xff09;末行/底行模式(last line mode) 3、三种模式的切换4、正…

SLAM从入门到精通(bresenham绘制算法)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们说过&#xff0c;学术界和工业界对于slam的要求是不一样的。前者要求robot在运动的过程中&#xff0c;同步实现定位和制图的操作。但是工业…

力扣环形链表(1)进阶环形链表(2)及环形链表的约瑟夫问题

为了加深对环形链表的理解和掌握&#xff0c;这两道题是很不错的选择。 这里所说环形链表不是一个圈圈的结构&#xff0c;而是带环链表。 链接&#xff1a;环形链表&#xff08;1&#xff09; 注意这里链表的长度 所以要注意链表是否为空 第一种方法&#xff0c;应该是比较容易…

【ELK 使用指南 1】ELK + Filebeat 分布式日志管理平台部署

ELK和EFLK 一、前言1.1 日志分析的作用1.2 需要收集的日志1.3 完整日志系统的基本特征 二、ELK概述2.1 ELK简介2.2 为什么要用ELK?2.3 ELK的组件 三、ELK组件详解3.1 Logstash3.1.1 简介3.1.2 Logstash命令常用选项3.1.3 Logstash 的输入和输出流3.1.4 Logstash配置文件 3.2 E…

宏电股份RedCap产品亮相迪拜华为MBBF,并参与RedCap全球商用阶段性成果发布

10月10-11日&#xff0c;由华为主办的第十四届全球移动宽带论坛&#xff08;MBBF&#xff09;在阿联酋迪拜成功举办。MBBF期间&#xff0c;华为联合宏电股份等产业伙伴集中发布RedCap商用阶段性成果。本次发布是RedCap产业的关键里程碑&#xff0c;标志着RedCap在全球已具备规模…

c++小知识

内联函数 inline 用来替换宏函数 不能分文件编辑 在c语言中#define NULL 0在c中使用nullptr表示空指针class内存的大小计算规则使用的是内存对齐 没有成员&#xff0c;但是还有1个字节&#xff0c;我们使用这个来标记他是个类 类成员函数不存在于类中 为什么每个对象使用的…

提高编程效率-Vscode实用指南

您是否知道全球73%的开发人员依赖同一个代码编辑器&#xff1f; 是的&#xff0c;2023 年 Stack Overflow 开发者调查结果已出炉&#xff0c;Visual Studio Code 迄今为止再次排名第一最常用的开发环境。 “Visual Studio Code 仍然是所有开发人员的首选 IDE&#xff0c;与专业…

和硕首次参加展OCP 峰会,将发布多项AI合作项目产品 | 百能云芯

电子代工大厂和硕联合科技宣布&#xff0c;将参与今年的 OCP 全球峰会 (OCP Global Summit)&#xff0c;展示与英伟达 (NVIDIA) 合作成果&#xff0c;包含使用英伟达 GH200 Grace Hopper 超级芯片的 MGX AI 服务器&#xff0c;以及搭载 A100、L40 等服务器产品。 OCP 峰会于 10…

【STM32】---存储器,电源核时钟体系

一、STM32的存储器映像 1 文中的缩写 2 系统构架&#xff08;原理图&#xff09; 3. 存储器映像 &#xff08;1&#xff09;STM32是32位CPU&#xff0c;数据总线是32位的 &#xff08;2&#xff09;STM232的地址总线是32位的。&#xff08;其实地址总线是32位不是由数据总线是…

Tortoise SVN 察看本地缓存密码

1、打开设置&#xff08;Settings&#xff09; 2、查看保存的数据 3、打开鉴权数据 4、查看密码 CTRLSHIFT双击表格&#xff0c;就会出现一列密码列 &#xff08;我的是Mac PD虚拟Win11&#xff0c;CTRLSHIFTOPTION双击表格&#xff09; 原文见这里&#xff1a; Recover SVN …

【ubuntu】常用软件安装

【ubuntu】常用软件安装 前言安装搜狗输入法安装flameshot截图软件总结 前言 Ubuntu 是一个基于 Linux 内核的开源操作系统&#xff0c;它提供了简单易用的界面和丰富的功能&#xff0c;广受开发者和普通用户的喜爱。博主时常也需要经常切换Ubuntu系统进行开发和学习&#xff…

2023系统架构师---信息系统基础知识

目录 信息系统基础知识 信息系统概述 信息系统开发方法 1.结构化方法 2&#xff0c;原型法 3.面向对象方法 4.面向服务的方法 信息系统基础知识 信息系统是一个由人、计算机等组成的能进行信息的收集、传递、存储、加工、维护和使用的系统&#xff0c;它是一门综合了经济…

模型的选择与调优(网格搜索与交叉验证)

1、为什么需要交叉验证 交叉验证目的&#xff1a;为了让被评估的模型更加准确可信 2、什么是交叉验证(cross validation) 交叉验证&#xff1a;将拿到的训练数据&#xff0c;分为训练和验证集。以下图为例&#xff1a;将数据分成4份&#xff0c;其中一份作为验证集。然后经过…

专业144,总分440+,上岸西北工业大学827西工大信号与系统考研经验分享

我的初试备考从4月末&#xff0c;持续到初试前&#xff0c;这中间没有中断。 总的时间分配上&#xff0c;是数学>专业课>英语>政治&#xff0c;虽然大家可支配时间和基础千差万别&#xff0c;但是这么分配是没错的。 数学 时间安排&#xff1a;3月-7月&#xff1a;…

ROC与AUC与主动学习评价指标ALC

首先需要关注一下什么是混淆矩阵&#xff0c;此处认为1为正类&#xff0c;0为负类 预测为0预测为1真实为0TN真负例&#xff08;预测为0&#xff0c;真实也为0&#xff09;FP假正例&#xff08;预测为1&#xff0c;但真实为0&#xff09;真实为1FN假负例&#xff08;预测为0&am…