通用同步/异步收发器USART/UART

结构框图

在这里插入图片描述

数据位

请添加图片描述

异步通信帧结构:  
 1、起始位:
		 每帧以一个 START 位开始,并且始终为低电平。 
 2、数据位数据包:
		8位或者9位数据
		第9位是奇偶校验位
 3、STOP 位:
		可以是一位或两位。它在数据位包之后发送以指示帧的结束。停止位始终为逻辑高。
 
 奇偶校验位:
          用来表示发送数据逻辑高的数量添加在后,如果数据为偶数 偶校验:则是0,奇校验:则是1

寄存器

控制寄存器 USART_CR1

UE:串口使能位  (USART enable)
	0:USART分频器和输出被禁止;
	1:USART模块使能。 
M:字长 (Word length) 
	0:一个起始位,8个数据位,n个停止位;
	1:一个起始位,9个数据位,n个停止位。  
WAKE:USART唤醒的方法 (Wakeup method)   
	0:被空闲总线唤醒;
	1:被地址标记唤醒。 
PCE:检验控制使能 (Parity control enable)  
	0:禁止校验控制;
	1:使能校验控制。 
PS:校验选择 (Parity selection)   
	0:偶校验;
	1:奇校验。 
PEIE:PE中断使能 (PE interrupt enable)  
	0:禁止产生中断;
	1:当USART_SR中的PE为’1’时,产生USART中断。 
TXEIE:发送缓冲区空中断使能 (TXE interrupt enable)  
	0:禁止产生中断;
	1:当USART_SR中的TXE为’1’时,产生USART中断。 
TCIE:发送完成中断使能 (Transmission complete interrupt enable)  
	0:禁止产生中断;
	1:当USART_SR中的TC为’1’时,产生USART中断。 
RXNEIE:接收缓冲区非空中断使能 (RXNE interrupt enable) 
	0:禁止产生中断;
	1:当USART_SR中的ORE或者RXNE为’1’时,产生USART中断。 
IDLEIE:IDLE中断使能 (IDLE interrupt enable) 
	0:禁止产生中断;
	1:当USART_SR中的IDLE为’1’时,产生USART中断。 
TE:发送使能 (Transmitter enable) 
	0:禁止发送;
	1:使能发送。 
RE:接收使能 (Receiver enable) 
	0:禁止接收;
	1:使能接收,并开始搜寻RX引脚上的起始位。
RWU:接收唤醒 (Receiver wakeup)  
	0:接收器处于正常工作模式;
	1:接收器处于静默模式。
SBK:发送断开帧 (Send break)  
	0:没有发送断开字符;
	1:将要发送断开字符。  

状态寄存器 USART_SR

CTS: CTS 标志 (CTS flag)  
	0:nCTS状态线上没有变化;
	1:nCTS状态线上发生变化。
	注:UART4和UART5上不存在这一位。硬件置高、软件清零
LBD: LIN断开检测标志 (LIN break detection flag)  
	0:没有检测到LIN断开;
	1:检测到LIN断开。 
	硬件置高、软件清零
TXE:发送数据寄存器空 (Transmit data register empty) 
	TDR寄存器中的数据被硬件转移到移位寄存器的时候,该位被硬件置位 
	0:数据还没有被转移到移位寄存器;
	1:数据已经被转移到移位寄存器。 
	硬件置高、软件清零
TC:发送完成 (Transmission complete)  
	0:发送还未完成;
	1:发送完成。	
	硬件置高、软件清零
RXNE:读数据寄存器非空 (Read data register not empty) 
	当RDR移位寄存器中的数据被转移到USART_DR寄存器中,该位被硬件置位。 
	0:数据没有收到;
	1:收到数据,可以读出。	
	硬件置高、软件清零
IDLE:监测到总线空闲 (IDLE line detected) 
	当检测到总线空闲时,该位被硬件置位。 
	0:没有检测到空闲总线;
	1:检测到空闲总线。
	硬件置高、软件清零
	注意:IDLE位不会再次被置高直到RXNE位被置起(即又检测到一次空闲总线) 
ORE:过载错误 (Overrun error) 
	当RXNE仍然是’1’的时候,当前被接收在移位寄存器中的数据,需要传送至RDR寄存器时,硬件将该位置位。  
	0:没有过载错误;
	1:检测到过载错误。
	硬件置高、软件清零
	注意:该位被置位时,RDR寄存器中的值不会丢失,但是移位寄存器中的数据会被覆盖 
NE: 噪声错误标志 (Noise error flag) 
	在接收到的帧检测到噪音时,由硬件对该位置位 
	0:没有检测到噪声;
	1:检测到噪声。
	硬件置高、软件清零
	注意:该位不会产生中断,因为它和RXNE一起出现,硬件会在设置RXNE标志时产生中断。 
FE: 帧错误 (Framing error) 
	当检测到同步错位,过多的噪声或者检测到断开符, 硬件置位 
	0:没有检测到帧错误;
	1:检测到帧错误或者break符。 
	硬件置高、软件清零
PE: 校验错误 (Parity error) 
	在接收模式下,如果出现奇偶校验错误,硬件对该位置位。 
	0:没有奇偶校验错误;
	1:奇偶校验错误。
	硬件置高、软件清零

数据寄存器 USART_DR

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值