uart和usart的区别_usart_rx和uart_rx有什么区别?-程序员宅基地

技术标签: 电子电路  

 

目录

 

UART

    USART

         UART和USART的区别


  

UART

  通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。

  具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备。一般是RS-232C规格的,与类似Maxim的MAX232之类的标准信号幅度变换芯片进行搭配,作为连接外部设备的接口。在UART上追加同步方式的序列信号变换电路的产品,被称为USART(Universal Synchronous Asynchronous Receiver Transmitter)。

  定义

  UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。

  

  USART

  USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接收/发送器USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。

  结构组成

  USART收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。控制寄存器为所有的模块共享。

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

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

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

  

     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的智能卡接口。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhuimeng_ruili/article/details/103396307

智能推荐

GPT4、文心一言4、ChatGLM、Claude2.1四大语言模型生成效果对比_文心一言和chatglm-程序员宅基地

文章浏览阅读1.8k次,点赞24次,收藏27次。随着AIGC大风起,也掀起了语言模型大争之世,各种语言模型如雨后春笋,让大家眼花缭乱。周周都有新的选手入场,月月都有新的模型问世。不过其中最受人瞩目的当属GPT4、文心一言4、ChatGLM、Claude2.1四大模型。隐隐有傲视群雄之姿,今天我们也对这语言模型的四大天王的生成做一下粗浅的对比,也为大家在选择接入自家产品的时候有些许参考。_文心一言和chatglm

java/php/node.js/python基于微信小程序的音乐网站的设计与实现【2024年毕设】-程序员宅基地

文章浏览阅读236次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。

基数排序算法-程序员宅基地

文章浏览阅读480次,点赞12次,收藏9次。基数排序

Uni-app 详情页 播放视频功能_uni.createvideocontext-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏20次。逻辑:1.课程详情页加载后,用token判断用户是否登录,登录状态则调用//查询课程是够有播放的权限的接口(只传入courseId),后端会返回hasAuth为true/false2.点击某一章节时,登录状态则调用//查询课程是够有播放的权限的接口(这次要传入courseId & chapterId),后端会返回hasAuth为true/false和videoId,如果这俩都有,则跳页面到视频播放页3.跳转到视频播放页,请求课程详情接口、视频播放接口(传入courseId & c_uni.createvideocontext

Nginx上传文件大小、超时限制_nignx webdav 文件大小-程序员宅基地

文章浏览阅读1.3w次。修改Nginx上传文件大小限制  我们使用ngnix做web server的时候,nginx对上传文件的大小有限制,默认是1M。  当超过大小的时候会报413(too large)错误。这个时候我们要修改nginx的参数client_max_body_size 20M; location / { ... client_max_body_size 100m; }..._nignx webdav 文件大小

InSAR形变监测方法与研究进展(朱建军,中南大学)_insar 冰川厚度-程序员宅基地

文章浏览阅读134次。(1)首先,InSAR监测变形原理和卫星数据来源(2)其次,InSAR形变监测方法分类(3)最后,讨论InSAR研究难点。_insar 冰川厚度

随便推点

gitlab搭建遇到的问题记录_[execute] fail: redis: runsv not running-程序员宅基地

文章浏览阅读5.5k次。1 镜像下载地址https://packages.gitlab.com/gitlab/gitlab-ce我目前使用的版本是:11.10.2版本13以后,把原始仓库路径默认都给变成了hash加密了,很难辨识出原始仓库,所以不选择13以上的版本。2 每次服务器断电后不能启动gitlab2.1 断电后启动gitlab报错fail: alertmanager: runsv not runningfail: gitaly: runsv not runningfail: gitlab-_[execute] fail: redis: runsv not running

C#常见错误—未将对象引用设置到对象的实例-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏8次。C#常见错误—“未将对象引用设置到对象的实例”的产生原因和解决方案。_未将对象引用设置到对象的实例

IAR for ARM 安装与注册(超详细)-程序员宅基地

文章浏览阅读1.3w次,点赞14次,收藏57次。IAR for ARM 安装与注册(超详细)一.使用软件 IAR for arm 8.3.21 以及注册软件链接:https://pan.baidu.com/s/1kihV0zkOdFx1OUZSJtbT9A提取码:0key二.软件安装1.打开安装包,选择安装2.点击“Next>”3.选择接受,再点击“Next>”,不接受不给你安装。霸道4.开发软件,建议安装在C盘,默认即可。安装在其他盘也可以注意不要有中文路径5.这里是烧录器的驱动安装,我们后面用到什么在安装什么6_iar for arm

黑马程序员_Java基础_IO流(四)_21_创建一个像文件date中写基本数据类型数据的流对象的语言为-程序员宅基地

文章浏览阅读540次。------- android培训、java培训、期待与您交流!---------- 导读:对象的序列化,管道流,RandomAccessFile,操作基本数据类型的流对象, ByteArrayStream,字符流的字符编码,编码解码,字符编码-联通,练习 1、IO流(对象的序列化)IO包中的其他类:操作对象,ObjectInputStream与ObjectOutputStre_创建一个像文件date中写基本数据类型数据的流对象的语言为

vue-cli中使用sass或者less_cli默认是less还是sass-程序员宅基地

文章浏览阅读2.1k次。什么是sass、less?他们有什么区别?请移步官网!这里仅仅记录一下如何使用开门见山。sass 创建好vue脚手架后,打开命令行安装sass:脚手架虽然有配置sass,配置在build/utils.js,但对应的loader未安装 ,请执行以下命令:npm install --save-dev node-sassnpm install --save-dev sass-loader在这里需..._cli默认是less还是sass

【IMX6ULL驱动开发学习】12.Linux驱动之设备树_正点原子linux开发板imx6ull 设备树-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏5次。(1)platform_driver 结构体添加 of_match_table 属性,添加 of_device_id 结构体,匹配设备树。(2)在 probe 函数中提取设备树中的引脚,提取设备树节点中的属性(of_property_read_u32等函数)后缀为 dtb 的是二进制的设备树文件,我们需要修改它,那么真正要操作的是其对应的 dts 文件,即。其他地方都不用修改,下次想添加外设时,直接修改设备树,然后修改 of_device_id 结构体即可。即可替换成新的设备树了,如何查看是否替换成功呢。_正点原子linux开发板imx6ull 设备树

推荐文章

热门文章

相关标签