【STM32】UART和USART的区别[通俗易懂]

【STM32】UART和USART的区别[通俗易懂]1、UART:universalasynchronousreceiverandtransmitter通用异步收发器;2、USART:universalsynchronousasynchronousreceiverandtransmitter通用同步异步收发器。1、通用异步收发器:通用异步收发器是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传…

大家好,又见面了,我是你们的朋友全栈君。

1、UART:universal asynchronous receiver and transmitter通用异步收发器;

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

 

1、通用异步收发器

通用异步收发器是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。

UART首先将接收到的并行数据转换成串行数据来传输。消息帧从一个低位起始位开始,后面是5~8个数据位,一个可用的奇偶位和一个或几个高位停止位。

接收器发现开始位时它就知道数据准备发送,并尝试与发送器时钟频率同步。如果选择了奇偶,UART就在数据位后面加上奇偶位。奇偶位可用来帮助错误校验。  

在接收过程中,UART从消息帧中去掉起始位和结束位,对进来的字节进行奇偶校验,并将数据字节从串行转换成并行。UART也产生额外的信号来指示发送和接收的状态。例如,如果产生一个奇偶错误,UART就置位奇偶标志。

2、通用同步异步串行接收/发送器:

USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。

USART收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。

1、时钟发生器由同步逻辑电路(在同步从模式下由外部时钟输入驱动)和波特率发生器组成。发送时钟引脚XCK仅用于同步发送模式下,

2、发送器部分由一个单独的写入缓冲器(发送UDR)、一个串行移位寄存器、校验位发生器和用于处理不同桢结构的控制逻辑电路构成。使用写入缓冲器,实现了连续发送多帧数据无延时的通信。

3、接收器是USART模块最复杂的部分,最主要的是时钟和数据接收单元。数据接收单元用作异步数据的接收。除了接收单元,接收器还包括校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器(接收UDR)。接收器支持与发送器相同的帧结构,同时支持帧错误、数据溢出和校验错误的检测。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144533.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql读写分离原理详解(主从复制和读写分离)

    主库记录二进制日志。在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志中。MySQL会按事务提交的顺序而非每条语句的执行顺序来记录二进制日志。在记录二进制日志后,主库会告诉存储引擎可以提交事务了。下一步,备库将主库的二进制日志复制到其本地的中继日志中。首先,备库会启动一个工作线程,称为I/O线程,I/O线程跟主库建立一个普通的客户端连接,然后在主库启动一个特殊的二进制转储线程,…

    2022年4月10日
    38
  • Java 介绍

    1 Java 介绍 Java的历史 Java的历史非常有趣。 Java最初是为交互式电视而设计的,但是对于当时的数字有线电视行业来说,它是太先进的技术。 Java的历史始于绿色团队…

    2022年1月24日
    49
  • css display属性的值及用法_css clear作用

    css display属性的值及用法_css clear作用display的所有属性{/*CSS1*/display:none;display:inline;display:block;display:list-item;/*CSS2.1*/display:inline-block;display:table;display:inline-table;display:table-cell;display:t…

    2025年7月9日
    1
  • java环境变量配置与adb环境变量配置的关系_mac设置环境变量

    java环境变量配置与adb环境变量配置的关系_mac设置环境变量Java环境变量配置与adb环境变量配置java环境变量配置第一步:下载jdk文件下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html第二步:安装jdk1.打开jdk安装包,点击下一步开始安装。2.弹出安装路径,将目录更改至D盘,点击下一步。3.在D盘Java目录下新建jer文件夹,并将安装路径更改至此目录下4.安装…

    2025年6月28日
    3
  • 导弹防御系统(dfs+最长上升子序列)

    导弹防御系统(dfs+最长上升子序列)原题连接/为了对抗附近恶意国家的威胁,R 国更新了他们的导弹防御系统。一套防御系统的导弹拦截高度要么一直 严格单调 上升要么一直 严格单调 下降。例如,一套系统先后拦截了高度为 3 和高度为 4 的两发导弹,那么接下来该系统就只能拦截高度大于 4 的导弹。给定即将袭来的一系列导弹的高度,请你求出至少需要多少套防御系统,就可以将它们全部击落。输入格式输入包含多组测试用例。对于每个测试用例,第一行包含整数 n,表示来袭导弹数量。第二行包含 n 个不同的整数,表示每个导弹的高度。当输入测试用例

    2022年8月8日
    9
  • pycharm激活吗破解方法

    pycharm激活吗破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号