通用收发器(USART)

通用收发器(USART)

1. USART介绍

​ 1.通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。

​ 2.USART利用分数波特率发生器提供宽范围的波特率选择。

​ 3.支持同步单向通信和半双工单线通信

2. 主要特征

​ 起始位:低电平有效

​ 数据位:8/9位

​ 校验位:无/奇偶校验

​ 停止位:高电平有效

​ 波特率:单位时间内发送数据的个数。(9600:1s内传输9600个二进制)

​ TX------RX

​ RX------TX

​ GND-----GND

3. 常用单片机通讯

​ USART RS485 RS232 RS422 SPI IIC IIS

​ 单片机中通讯作用:实现数据交互

3.1 通讯分类

​ 串行:一根线接收,一根线发送;

​ 并行:多根线收发,速度一般高于串行; 8080 6800

​ 同步:硬件上有同步时钟线(软件编程简单)

​ 异步:硬件上没有同步时钟线(软件编写困难)

​ 全双工:收发两条路,同时收发;

​ 半双工:能收发,但是不能同时收发;

​ 单工:只能发不能收,单向通信;

​ USART: 串行异步全双工

4. 功能概述

​ 任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。

​ RX:接收数据串行输。

​ TX:发送数据输出。

总线在发送或接收前应处于空闲状态

​ ● 一个起始位

​ ● 一个数据字(8或9位),最低有效位在前

​ ● 0.5,1.5,2个的停止位,由此表明数据帧的结束

​ ● 使用分数波特率发生器 —— 12位整数和4位小数的表示方法。

​ ● 一个状态寄存器(USART_SR)

​ ● 数据寄存器(USART_DR)

​ ● 一个波特率寄存器(USART_BRR),12位的整数和4位小数

CK:发送器时钟输出。此引脚输出用于同步传输的 时钟

5. 特性描述

5.1 字长

通过USART_CR1寄存器选择M位,选择成8或9位 。

USART支持多种停止位的配置: 0.5、 1、1.5和2个停止位 ,以9位字长为例,设置M位,一个停止位。

起始位期间, TX脚处于低电平,在停止位期间处于高电平 。

5.2 接收器

根据USART_CR1的M位接收8位或9位的数据字 。

在USART中,如果辨认出一个特殊的采样序列,那么就认为侦测到一个起始位 。

该序列为: 1 1 1 0 X 0 X 0 X 0 0 0 0

在这里插入图片描述

字符接收:在USART接收期间,数据的最低有效位首先从RX脚移进。在此模式里, USART_DR寄存器包含的缓冲器位于内部总线和接收移位寄存器之间。

5.3 波特率

T x / R x 波特率= ∗ 16 ( U S A R T D I V ) f C K Tx / Rx 波特率 = *16( USARTDIV ) fCK Tx/Rx波特16(USARTDIV)fCK

USARTDIV是一个无符号的定点数。这12位的值设置在USART_BRR寄存器。

这里的fCK是给外设的时钟(PCLK1用于USART2、 3、 4、 5, PCLK2用于USART1)

以9600为例:

	DIV=72000000/16/brr;
	Mantissa=(int)DIV;
	Fr = (DIV - Mantissa)*16;
	USART1->BRR = (Mantissa<<4) | (Fr);
	DIV=72000000/16/brr;
	Mantissa=(int)DIV;
	Fr = (DIV - Mantissa)*16;
	USART1->BRR = (Mantissa<<4) | (Fr);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值