stm32专题十一:USART(二)结构框图

发布者:大树下的大白菜y最新更新时间:2021-10-21 来源: eefocus关键字:stm32  USART  结构框图 手机看文章 扫描二维码
随时随地手机看文章

USART的结构框图

引脚:


TX RX 发送和接收


SW-_RX 用于智能卡模式(很少用)


IRDA_OUT IRDA_IN 红外通信数据的输出和输入


nRTS nCTS 硬件流控,很少用


SCLK 同步时钟(同步模式下使用)


USART的引脚分配如下表,注意,只有USART1挂载到APB2高速总线上,其他的串口都是在APB1总线。

数据寄存器:USART_DR,是一个对应两个寄存器(USART_TDR和USART_RDR),寄存器的低9位[0:8]位数据有效,由USART_CR1的M位设置,当M = 0时,表示8个数据位(最常用),M = 1时表示9个数据位(很少用)。因为有两个寄存器,所以TX和RX可以同时收发。


一个字符帧发送需要起始位+数据帧+停止位,停止位的时间由USART_CR2的STOP位控制,一般选择1个停止位。


PCE PS:是否是能校验,采用什么校验。

接下来是发送和接收的具体流程:


USART_CR1寄存器


USART_CR1:UE USART使能  TE 发送使能  RE 接收使能

发送具体过程:


USART_SR: TXE 发送数据寄存器空,当TDR寄存器中的数据被硬件转移到移位寄存器中时,该位置1;当为0时,表示数据还没有转移到移位寄存器,这时DMA不能再往里传数据了。


USART_CR1:TXEIE 发送缓冲区空中断使能,当为1时,TDR为空(TXE = 1)就会产生中断。


USART_SR: TC 发送完成,此时移位寄存器为空,全部数据已通过移位寄存器发送完成,这里判断的是移位寄存器。


USART_CR1:TCIE 发送完成使能,当发送完成TC = 1时,产生USART1中断。


数据由CPU从内存中读取,或DMA传送,然后放到数据寄存器TDR中(寄存器USART_SR的TXE位置0),然后放到发送移位寄存器中(此时发送数据寄存器为空,TXE = 1),然后当发送移位寄存器把全部数据移位发出去后,

接收具体过程:


USART_SR: RXNE 读寄存器非空


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


数据一位一位的从RX转移到移位寄存器,然后移位寄存器八数据传送到接受数据寄存器RDR,此时RXNE标志位置1,如果我们检测到RXNE为1,就可以从RDR中读数据。读取USART_DR数据寄存器,RXNE位会清零。


/*****************************************************************************************************************************/


波特率


BSART_BRR寄存器,分频器分为整数部分+小数部分

波特率如何产生?

计算方式如下:


目标波特率115200,使用USART1(72M),计算过程如下,整数部分很好计算,主要是小数部分。可以想象,小数的最大值为1,用4位二进制描述,则分为16′,每份1/16,我们的   小数部分 /  (1 / 16) = 小数部分 * 16,就能知道占据了多少份。


USARTDIV(分频因子) = 72 000 000 / 16 / 115200 = 39.0625


整数部分DIV_Mantissa = 39 = 0X27,小数部分 = 0.0625 * 16 = 0X01,则应设置为0x271

串口空闲检测(非常有用):

关键字:stm32  USART  结构框图 引用地址:stm32专题十一:USART(二)结构框图

上一篇:stm32专题十一:串口通信(一) USART理论
下一篇:stm32专题十一:USART(三)初始化结构体和标准库函数分析

推荐阅读最新更新时间:2024-11-08 16:33

基于STM32的自动跟踪小车
概述 小车外形: 功能简介 利用摄像头识别前车尾部的AprilTag,得到前车位置,传回stm32主控板处理,使两车在行驶时保持恒定距离,实现自动跟车。 openMV4摄像头 1.1 Apriltag识别与串口传输 AprilTag是一个视觉基准库,在AR,机器人,相机校准领域广泛使用。通过特定的标志(与二维码相似,但是降低了复杂度以满足实时性要求),可以快速地检测标志,并计算相对位置。 Apriltag示例: 通过识别Apriltag,可以得到x,y,z三个方向的距离以及偏移角度。这里只需要三维的距离即可,通过串口传回stm32. STM32主控板(型号为F407) 2.1 时钟与中断配置 附
[单片机]
stm32 通过串口控制led灯亮灭 并通过lcd显示led灯的亮灭状态
#include main.h #include stm32f0xx_hal.h /* USER CODE BEGIN Includes */ #include lcd.h /* USER CODE END Includes */ /* Private variables ---------------------------------------------------------*/ UART_HandleTypeDef huart1; /* USER CODE BEGIN PV */ /* Private variables -----------------------------------------
[单片机]
USART从低功耗模式唤醒STM32F0
STM32F0的低功耗模式 详细内容见参考手册—Power control (PWR) 在STM32应用中,为了降低功耗共有以下三种工作模式: Sleep mode CPU clock off, all peripherals including ARM® Cortex®-M0 core peripherals like NVIC, SysTick, etc. are kept running.. In Sleep mode, only the CPU is stopped. All peripherals continue to operate and can wake up the CPU when an inte
[单片机]
<font color='red'>USART</font>从低功耗模式唤醒STM32F0
STM32 DHT11串口打印源程序
1.硬件准备: USB转TTL工具一个 核心板STM32F103C8T6 DHT11传感器 2.软件准备: 串口调试助手 2.硬件连线 USB转TTL的RX----32板子上的PA9 USB转TTL的TX----32板子上的PA10 DHT11的DAT连接PB14 3.程序源码 #include dht11.h ////////////////////////////////////////////////////////////////////////////////// #include delay.h //////////////////////////////////////////////////////
[单片机]
<font color='red'>STM32</font> DHT11串口打印源程序
STM8单片机ADC、Timer、USART实用例程
简介:这是一个我花了较长时间摸索出来的STM8L-051的例程,它控制LED灯,Timer2定时100us进入中断,软件启动ADC,采样10 次后取平均,将结果通过UASART发送至PC机,在超级终端上显示的实用程序,因其内存极小,不能用printf等函数,因此对于想用这款资源极少的MCU的开发者来说,读这篇文章会大大节约你的研发时间。 #include #include stm8l15x.h #include iostm8l051f3.h #define LED_GPIO_PORT GPIOA #define LED_GPIO_PINS GPIO_Pin_2 | GPIO_Pin_3 #define AD
[单片机]
007_STM32程序移植之_多通道ADC转换
1. 测试环境:STM32C8T6 2. 测试:使用DMA进行多通道ADC转换 3. 描述:用 ADC 连续采集 12 路模拟信号,并由 DMA 传输到内存。ADC 配置为扫描 并且连续转换模式,ADC 的时钟配置为 12MHZ。在每次转换结束后,由 DMA 循环将转换的数据传输到内存中。ADC 可以连续采集 N 次求平均值。最后 通过串口传输出最后转换的结果。 4. 测试引脚:
[单片机]
007_STM32程序移植之_多通道ADC转换
STM32芯片存储器映射概述
STM32系统构架 当你拿到一款芯片后,怎样可以快速了解到它具有哪些功能?了解单片机的系统架构是使用款芯片的基础,这些信息在芯片手册上都会有详细的说明,并且它们会被安排在最前面的章节,目的就是让用户最开始就能够关注到该款芯片具有哪些功能,特点。 STM32F103系统结构 从上图我们可以了解到STM32F103系列的主要系统组成单元: CPU核:使用ARM Cortex-M3内核; 存储器: STM32F103系列微控制器采用经典的哈佛架构,程序存储和数据存储采用独立的存储器空间; ICode:指令代码,Flash存储器用于存储程序; DCode:数据代码,SRAM用于存储数据; 外设: GPIO;
[单片机]
<font color='red'>STM32</font>芯片存储器映射概述
ST推四套价格低廉STM32评估及开发工具 均由第三方开发
Hitex、IAR、Keil和Raisonance公司的评估及开发工具与ST的量产的ARM Cortex-M3内核微控制器同步上市 中国,2007年10月15日 — 意法半导体(纽约证券交易所代码:STM)今天推出四套价格低廉的评估及开发工具,这些工具是由ST的主要的第三方软件供应商开发的,支持ST最近推出的基于具有突破性的ARM Cortex-M3内核的STM32微控制器。这些开发入门工具的开发厂商分别是Hitex、IAR、Keil和Raisonance,通过使用这些开发工具,用户可以轻松了解STM32的特性和功能,只需很少的时间和资金就能开始正式的应用程序开发,这些开发工具的价位在109美元到239美元之间。 全系列产品
[新品]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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