UART和USART的区别(UART vs USART)[通俗易懂]

UART和USART的区别(UART vs USART)[通俗易懂]很多工程师都知道UART和USART都是一样的,没有区别。但实际上,两者彼此不同,并且具有不同的属性。这就是我在这里写一篇文章UARTvsUSART的原因。但在研究UART和USART(UART与USART)之间的主要区别之前,我想先解释一下什么是异步和同步通信。异步串行传输:在异步通信中,发送方和接收方之间没有公共时钟。它广泛用于面向字节的传输,这意味着它一次可以发送1个字节或字符。与同步相比,异步通信速度较慢,并且还具有启动和停止位的开销。在异步通信中…

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

UART和USART的区别(UART vs USART)[通俗易懂]

很多工程师都知道UART和USART都是一样的,没有区别。但实际上,两者彼此不同,并且具有不同的属性。 

这就是我在这里写一篇文章UART vs USART的原因。但在研究 UART 和 USART(UART 与 USART)之间的主要区别之前,我想先解释一下什么是异步和同步通信。

异步串行传输:

        在异步通信中,发送方和接收方之间没有公共时钟。它广泛用于面向字节的传输,这意味着它一次可以发送 1 个字节或字符。与同步相比,异步通信速度较慢,并且还具有启动和停止位的开销。在异步通信中,每一帧都用开始和停止位进行包装。让我们看看异步通信的帧结构。

异步通信中的帧结构:      

START 位:  每帧以一个 START 位开始,并且始终为低电平。
数据位数据包:数据位可以是 5 到 9 位数据包。通常我们使用 8 位数据包,总是在 START 位之后发送。
STOP 位:可以是一位或两位。它在数据位包之后发送以指示帧的结束。停止位始终为逻辑高。

在异步串行通信帧中,第一个 START 位后跟数据字节和最后一个 STOP 位形成一个 10 位帧。有时最后一位也用作奇偶校验位。

同步串行传输:

        在同步通信中,时钟由发送方和接收方共享。我们可以在其中传输一个数据块,并且对于该数据块只有一个开始和停止位。这是同步通信开销较小的原因。

UART和USART之间的区别(UART与USART)

UART    USART

全称是Universal Asynchronous Receiver/Transmitter。

全称是Universal Synchronous Asynchronous Receiver/Transmitter。

没有与数据相关的输入时钟信号,因此接收器需要在开始接收之前知道发送器的波特率。

其中接收器不需要知道发送器的波特率。它来源于主控提供的时钟信号和数据线。

其中只需要数据线。

其中需要数据线和时钟线。

数据是按字符或逐字节传输的。

同步数据以块的形式传输。

UART 在微控制器内部生成其数据时钟,并通过使用起始位转换将该时钟与数据流同步。

在这种模式下,发送外设将生成一个时钟,接收外设可以从数据流中恢复,而无需提前知道波特率。

由于与 USART 相比,UART 中的起始位和停止位数据传输速率的开销较低。

使用外部时钟使 USART 的数据速率远高于标准 UART 的数据速率。

UART 很简单,仅提供其基本格式的几个选项,例如停止位的数量以及偶数或奇数奇偶校验。

USART 更复杂,可以生成与许多不同标准协议相对应的形式的数据,例如 IrDA、LIN、智能卡、RS-485 接口的驱动程序启用和 Modbus,仅举几例。

它不能像 USART 那样工作。

USART 可以像 UART 一样工作。

UART和USART的区别(UART vs USART)[通俗易懂]

 

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

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

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


相关推荐

  • session的生命周期

    session的生命周期

    2021年11月6日
  • 开源视频会议BigBlueButton 0.81二次开发API

    开源视频会议BigBlueButton 0.81二次开发API开源视频会议BigBlueButton0.81二次开发API本文是copy一位博友的,为了不丢失这篇文章,谢谢。BigBlueButton是一个视频会议软件,它的演示环境和开发环境的搭建,网上都有很多的资料,为了便于二次开发,我整理了一下BBB的常用功能API接口,供参考:BigblueButton调用API,只需一个HTTP请求一个URL,查询参数提供呼叫所需要的信

    2022年7月14日
  • Pycharm轻松创建Flask项目

    Pycharm轻松创建Flask项目打开Pycharm的file,选择创建新的项目,然后弹出对话框,我们可以看到里面有很多的案例,Flask、Django等等,我们选择生成Flask的demo程序。选择创建之后一个简易的Flask项目就出现在我们眼前,第一个是入口程序,还有一个static的静态目录,templates是模板存放的位置。在Pycharm上面有个run,我们可以选择run来启动Flask的服务,默认打开…

    2022年8月25日
  • cmd 查看端口占用情况

    cmd 查看端口占用情况netstat-nao|findstr端口号打开任务管理器查看转载于:https://www.cnblogs.com/rchao/p/9922158.html

    2022年5月20日
  • 微信公众号网页授权登录[通俗易懂]

    微信公众号网页授权登录[通俗易懂]微信公众号网页授权登录:前端时间做了一个微信公众号的项目,就是微信公众号的菜单点击我的个人中心,就向用户授权登录获取用户的信息,进行业务逻辑的操作,微信公众号官方文档,这是我写的文章,里面有很多微信的官方文档,希望对大家有用:https://blog.csdn.net/qq_41971087/article/details/82466647在微信公众号官方文档中,看到微信页面开发,…

    2022年6月5日
  • 固态硬盘数据丢失能恢复吗?含泪分享:固态硬盘数据恢复方法

    固态硬盘数据丢失能恢复吗?含泪分享:固态硬盘数据恢复方法固态硬盘数据丢失能恢复吗?有些时候又是数据无缘无故丢失导致我们一头雾水的同时又手足无措。其实不论是固态硬盘,还是什么其他电子设备,数据丢失也是可以恢复的。固态硬盘的话,除非芯片被损坏或烧毁。那么点进来看看恢复的方法吧!…

    2022年9月20日

发表回复

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

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