历史上的今天

今天是:2024年09月03日(星期二)

正在发生

2019年09月03日 | STM32通用同步异步收发器(USART)

发布者:数据迷航者 来源: eefocus关键字:STM32  收发器  USAR 手机看文章 扫描二维码
随时随地手机看文章

通用同步异步收发器—–USART 

通讯方式: 

1、串行通讯 

2、异步/同步 

3、全双工


物理层 

RS232标准 

这里写图片描述

两个通讯设备的“DB9 接口”之间通过串口信号线建立起连接,串口信号线中使用“RS-232标准”传输数据信号。由于 RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个“电平转换芯片”转换成控制器能识别的“TTL 标准”的电平信号,才能实现通讯。


协议层 

这里写图片描述

串口通讯的数据包由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口。在串口通讯的协议层中,规定了数据包的内容,它由启始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。


STM32的USART构架 

这里写图片描述

1、引脚功能 

TX:发送数据输出引脚 

RX:接收数据输入引脚 

SW_RX:芯片内部引脚


2、数据寄存器 

发送接收数据,主要是对数据寄存器进行操作 

(数据寄存器)TDR和 RDR都是介于系统总线移位寄存器之间。串行通信是一个位一个位传输的,发送时把 TDR 内容转移到发送移位寄存器,然后把移位寄存器数据每一位发送出去,接收时把接收到的每一位顺序保存在接收移位寄存器内然后才转移到 RDR。


3、控制器 

发送器: 

当发送使能位 TE 置 1 之后,发送器开始会先发送一个空闲帧(一个数据帧长度的高电平),接下来就可以往 USART_DR 寄存器写入要发送的数据。在写入最后一个数据后,需要等待 USART 状态寄存器 (USART_SR)的 TC 位为 1,表示数据传输完成,如果USART_CR1 寄存器的 TCIE 位置 1,将产生中断。

 

在发送数据时,编程的时候有几个比较重要的标志位我们来总结下。 


名称 描述 

TE 发送使能 

TXE 发送寄存器为空,发送单个字节的时候使用 

TC 发送完成,发送多个字节数据的时候使用 

TXIE 发送完成中断使能 

接收器 

如果将 USART_CR1 寄存器的 RE 位置 1,使能 USART 接收,使得接收器在 RX 线开始搜索起始位。在确定到起始位后就根据 RX 线电平状态把数据存放在接收移位寄存器内。接收完成后就把接收移位寄存器数据移到 RDR 内,并把 USART_SR 寄存器的 RXNE 位置 

1,同时如果 USART_CR1寄存器的 RXNEIE 置 1 的话可以产生中断。 


在接收数据时,编程的时候有几个比较重要的标志位我们来总结下。 

名称 描述 

RE 接收使能 

RXNE 读数据寄存器非空 

RXNEIE 接收缓冲区非空中断使能


4、小数波特率生成


5、校验控制


6、中断控制 

这里写图片描述

关键字:STM32  收发器  USAR 引用地址:STM32通用同步异步收发器(USART)

上一篇:STM32 串口通信OLED屏幕显示(IIC)心得体会
下一篇:STM32中USART串口通讯:RS232,RS485

推荐阅读

机器人,作为一项引领世界未来的颠覆性技术,正在深刻改变着人类的社会生活。近年来,在市场和政策的推动下全球机器人取得了快速的发展。根据国际机器人联合会(IRF)的统计,2017年全球工业机器人销量创下38.7台的新纪录,比上一年增长了31%,而中国作为全球最大的机器人市场,已经引起了全球机器人企业的高度关注。机器换人是新时代的趋势,世界各国都在推...
趁着帮老师代上嵌入式实验课的机会,又重新熟悉了一遍stm32的通信协议:串口协议、SPI协议、I2C协议、RS485协议。大概半年前,是过了一遍的,但也只停留于读了遍代码,跑了下例程,最近又过了一遍(自己仔细的看了一遍,老师还给我们讲了一遍,自己又讲了一遍),然后还写了一遍软件模拟SPI、软件模拟I2C的代码,才彻底的懂了个皮毛 ,:)。稍微总结下吧...
可编程逻辑控制器(PLC)和分布式控制系统(DCS)用于监测和控制工业自动化应用中的智能(支持 HART)和模拟现场仪表。 图 1 所示的电路是一个简单的 DCS 系统,由一个主机和一个节点组成,其中有两个 4 通道隔离模拟输入板和两个 4 通道隔离模拟输出板,由一个 Arduino 形状因子基板本地控制。RS-485 收发器与 PC 机或其他主...
  8月31日,国家能源局公开征求对《并网主体并网运行管理规定(征求意见稿)》《电力系统辅助服务管理办法(征求意见稿)》意见,文件称本规定适用于省级及以上电力调度机构直接调度的火电、水电、核电、风电、光伏发电、抽水蓄能、新型储能等并网主体。电力辅助服务提供主体包括火电、水电、核电、风电、光伏发电、抽水蓄能、新型储能等以及能够响应...

史海拾趣

问答坊 | AI 解惑

谈谈LED的热阻

replyreload += \',\' + 380119;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答∨

evc编程高手请进

我现在在改一个实时显示波形的图形控件,有一些设置映射模式的函数evc里没有,请高手指点: 在vc里可以实现的函数: //设置映射模式并画曲线 int nOldMapMode=pDC->SetMapMode(MM_ANISOTROPIC);      if(nMaxDataNum==0) ...…

查看全部问答∨

急!!VS2005 开发WINCE 5.0程序PictureBox加载图片时异常

如题: 我用VS2005 开发wince5.0下的应用程序,在程序窗口上加了一个PictureBox控件,通过pictureBox的Image属性选择了一张图片,图片可以显示,但在与设备连接进行调试时在执行到图片加载时就发生异常,         /// ...…

查看全部问答∨

嵌入式开发应该知道甚么

在一个地方呆久了不知道外面的变化了 想听听大家的指教 由基本到深入…

查看全部问答∨

请教:哪里有 X86 的开发板

请教: 哪里有 X86 的开发板 能使用我们平常 PC 机使用的 CPU 能装 WIN2000 ,XP 谢谢!…

查看全部问答∨

STM32,新问题

昨天不知怎么很神奇地把一个完整的例程跑通了。 别笑,IAR EWARM的操作还很麻烦。 FLASH的烧写和仿真也搞定了。 今天老板让写一个12232的程序。 看了一上午资料,12232不复杂。(如果用51一下子的事情了) 但是,之前都是在人家做好的例程里跑 ...…

查看全部问答∨

ICCAVR 的中文使用说明

ICCAVR 的中文使用说明…

查看全部问答∨

CC2530/1处理器IO脚的功能分配

新手经常找不到CC2530的IO脚到底有哪些功能,实际上在CC253X User Guide文档,第7章第6小节有一个表格描述的很清楚。 我抓图上来: [localimg=600,573]1[/localimg] [localimg=600,573]1[/localimg][localimg=600,573]1[/localimg]…

查看全部问答∨

黄智伟——全国大学生电子设计竞赛训练教程

本帖最后由 paulhyde 于 2014-9-15 03:51 编辑   …

查看全部问答∨

圆点博士小四轴飞行器MPU6050重力加速度自我测试验证

圆点博士小四轴飞行器MPU6050重力加速度自我测试验证: 先看数据手册: 7.12 Self-Test Self-test allows for the testing of the mechanical and electrical portions of the sensors. The self-test for each measurement axis can be activa ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved