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

串行通信的方式

(1)单工通信:数据发送设备只能发送不能接收(数据只允许一个方向传输)数据接收装置只能接收不能发送。
在这里插入图片描述
(2)半双工通信:数据允许双向发送但是同一时刻只能一个发送一个接收。
在这里插入图片描述
(3)全双工通信:数据允许沿两个方向同时进行传输和发送可以在同一时刻进行数据的接收和发送。
在这里插入图片描述
在串行通信中应该确保发送端与接收端的数据同步期中包括字长设置、波特率设置有无奇偶校验等。字长设置通过USART_CR1寄存器的M位。

USART的简介

USART的双向通信至少需要2个脚:RX、TX。相关寄存器包括数据寄存器(USART_DR)、控制寄存器1(USART_CR1)、控制寄存器2(USART_CR2)、控制寄存器3(USART_CR3)状态寄存器(USART_SR)、比特率寄存器(USART_BRR)等。

USART使用流程

最基本就是配置串口的工作方式以及串口的发送和接收。声明GPIO的和USART的初始化结构体,由于USART需要开启GPIO的复用功能根据不同的端口需要设置好不同的GPIO的工作模式。开启GPIO、串口的IO时钟。设置波特率、数据位、校验位、停止位设置串口模式最后完成串口使能等操作。`
在函数开发中使用以下函数设置串口模式(默认输出输出模式)

USART_InitStrue.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;

串口部分代码如下:

USART_InitStrue.USART_BaudRate=115200;                     
USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;                
USART_InitStrue.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;                                                       USART_InitStrue.USART_Parity=USART_Parity_No;                                           
USART_InitStrue.USART_StopBits=USART_StopBits_1;                                                                         
USART_InitStrue.USART_WordLength=USART_WordLength_8b; 

作者水平有限希望读者批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值