UART介绍「建议收藏」

UART介绍「建议收藏」1.概述UART,UniversalAsynchronousReceiver-Transmitter,通用异步收发器;串口:在嵌入式里指的是UART口,常用TTL电平即3.3V或者5.0V;COM口:在台式机上常用的口,DB9那种接口,接口协议只有两种RS232和RS485;RS232电平即负逻辑电平,定义+5V~+12V为逻辑0,-5V~-12V为逻辑1。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

   1. 概述

UART, Universal Asynchronous Receiver-Transmitter, 通用异步收发器;

串口:在嵌入式里指的是UART口,常用TTL电平即3.3V或者5.0V;

COM口:在台式机上常用的口,DB9那种接口,接口协议只有两种RS232和RS485;

RS232电平即负逻辑电平,定义+5V~+12V为逻辑0,-5V~-12V为逻辑1。

UART口、COM口指的是物理接口形式;

TTL、RS232和RS485指的是电平逻辑标准;

TTL电平和RS232电平转换专用芯片有MAX232,TTL电平转USB芯片有CP2102、PL2303、FT230等用USB来扩展串口数量。

UART介绍「建议收藏」

   2. 硬件结构

与IIC、SPI 等接口一样,都属于串行通信接口,但是UART只有数据线收和发,并无时钟线,故为异步串行通信接口,可以实现全双工通信;在嵌入式系统中,常用与控制系统与外设通信,包括控制器与控制器,控制器与终端设备。线路简单,成本低,传输距离远,但传输速度慢。

VCC:供电pin,一般是3.3V,在实际使用中一般不接,不影响使用;

GND:接地pin,板内共地时可以不单独接,板间通信时候必须接上;

RX:接收数据pin;

TX:发送数据pin;  需要注意TX  RX的参考系,不要接反了,电平需要兼容;

如果收发是有关联关系的,很多情况下需要关注流控。

UART CTS/RTS用于硬流控,协调双方收发,保证数据不丢失。Clear to send    Request To Send

A———B

TX –> RX
RX <– TX
RTS —> CTS
CTS <— RTS

芯片A通过UART发送数据,当芯片B拉高RTS时,A就会暂停发送,

                                             当芯片B拉低RTS时,A又会继续发送。

比如 WIFI模组与AP的串口连接:

UART介绍「建议收藏」

  3. 通信协议

UART使用的是异步串行通信;以字符为传输单位,一位一位的顺序输送;通信中两个字符间的时间间隔是不固定的 ,然而同一个字符内两个相邻位之间的时间间隔是固定的。

数据的传送速率用波特率来表示,即每秒钟传送的二进制位数;

一般选波特率都会有9600,19200,115200等选项。

传输时序如下:

UART介绍「建议收藏」

起始位:先发一个逻辑0,表示传输字符的开始;

依靠检测起始位来实现发送与接收方的时间自同步的。

数据位:可以是4、5、6、7、8位逻辑0或者1,构成一个字符,如ASCII码8位数据位,从最低位开始传送,靠时钟定位;方向为LSB。

奇偶校验位:数据位加上这一位后,使得“1”的位数为偶数(偶校验)或奇数(奇校验)以此来校验数据传送的正确性;

停止位:他是一个字符数据的结束标志,可以是1位、1.5位、2位的高电平。适用于停止位的位数越多,不同时钟同步的容忍程度越大,数据传输率同时也越低。

空闲位:处于逻辑“1”状态,表示当前线路上没有数据传送。

UART介绍「建议收藏」

UART传输数据的顺序:刚开始传输一个起始位,接着传输数据位,接着传输校验位(可不需要此位),最后传输停止位。                                        这样一帧的数据就传输完了。

传输方向:数据位从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输A,

                   如果MSB就是01000001,如果LSB就是10000010。协议规定为LSB方向。

帧间隔:即传送数据的帧与帧之间的间隔大小,可以用位或者时间为计量。

欢迎加入硬件QQ群:101 808 3751,一起讨论硬件问题,分享调试心得,共同成长。

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

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

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


相关推荐

  • 部分经典vbs代码

    部分经典vbs代码部分经典vbs代码一、上代码:vbs代码,即VBScriptSetWshShell=WScript.CreateObject(“WScript.Shell”)WshShell.AppActivate”@窗口标题”fori=1to50WScript.Sleep200WshShell.SendKeys”^v”WshShell.SendKeysiWshShell.SendKeys”%s”Next二、操作步骤:打开Q_Q聊天窗口,拉出到独立窗口;新建文档,复制代码,根据

    2022年6月10日
    40
  • bfs是什么意思_bfs轮

    bfs是什么意思_bfs轮Rubik 先生在发明了风靡全球的魔方之后,又发明了它的二维版本——魔板。这是一张有 8 个大小相同的格子的魔板:1 2 3 48 7 6 5我们知道魔板的每一个方格都有一种颜色。这 8 种颜色用前 8 个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次取出整数,构成一个颜色序列。对于上图的魔板状态,我们用序列 (1,2,3,4,5,6,7,8) 来表示,这是基本状态。这里提供三种基本操作,分别用大写字母 A,B,C 来表示(可以通过这些操作改变魔板

    2022年8月9日
    1
  • TCP拥塞控制策略

    TCP拥塞控制策略一、Reno1、算法执行示意                                   图1 算法执行图2、算法原理Reno是一种基于丢包的拥塞控制算法,将丢包视为出现拥塞,采取缓慢探测的方式,逐渐增大拥塞窗口,当出现丢包时,将拥塞窗口减小。该算法拥塞控制的过程分为四个阶段:慢开始、拥塞避免、快重传和快恢复,分别对应四种算法。 (1)慢开始算法当主机总数…

    2022年6月24日
    25
  • jvm常量池和字符串常量池_常量池中的字符串是对象吗

    jvm常量池和字符串常量池_常量池中的字符串是对象吗JVM——字符串常量池详解引言在Java开发中不管是前后端交互的JSON串,还是数据库中的数据存储,我们常常需要使用到String类型的字符串。作为最常用也是最基础的引用数据类型,JVM为String提供了字符串常量池来提高性能,本篇文章我们一起从底层JVM中认识并学习字符串常量池的概念和设计原理。字符串常量池由来在日常开发过程中,字符串的创建是比较频繁的,而字符串的分配和其他对象的分配是类似的,需要耗费大量的时间和空间,从而影响程序的运行性能,所以作为最基础最常用的引用数据类型,Java设计者在

    2022年7月28日
    1
  • Github项目解析(九)–>实现Activity跳转动画的五种方式

    Github项目解析(九)–>实现Activity跳转动画的五种方式文本中我们将讲解activity切换动画相关的知识点,这里的切换动画指的是是activity跳转时的动画效果。这里总结了一下,有五种方式实现activity切换时实现动画效果。下面我将依次介绍一下每种实现activity切换动画效果的实现方式

    2022年5月11日
    48
  • python自行实现支付宝证书签名&验签全流程[通俗易懂]

    python自行实现支付宝证书签名&验签全流程[通俗易懂]支付宝Pythonsdk只有密钥签名,没有证书签名,下面是本人自行实现签名全流程证书签名需要新加alipay_root_cert_sn和app_cert_sn两个参数,这两个参数需要解析支付宝根证书(alipay_root_cert_sn)和应用公钥证书(appCerPublicKey_”app_id”.crt)得到:defsn_string():root_file_li=open(alipayRootCert.crt’,’r’).read().split(‘\n\n’)

    2022年5月11日
    45

发表回复

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

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