访问电脑版页面

导航:老古开发网手机版STM32单片机STM32单片机教程

STM32--UART异步通信学习

导读:字符发送的过程描述:在UART的发送过程中先将数据输入到发送数据寄存器中(TDR)此时(TXE)被硬件置1,之后TDR寄存器将数据串行移入到发送移位寄存器中,将数据在TX端口发送,此时(TC)被硬件置1。发送与接收是逆过程。
关键字:
STM32,uart,异步通信,

字符发送的过程描述:在UART的发送过程中先将数据输入到发送数据寄存器中(TDR)此时(TXE)被硬件置1,之后TDR寄存器将数据串行移入到发送移位寄存器中,将数据在TX端口发送,此时(TC)被硬件置1。发送与接收是逆过程。

UART发送配置步骤:

1.通过USART_CR1寄存器上置位UE来激活USART。

2.编程USART_CR1的M位来定义字长。

3.在USART_CR2中编程停止位的位数。

4.如果采用多缓冲器通信,配置USART_CR3中的DMA使能位(DMAT)。按多缓冲器通信中的描述配置DMA寄存器。

5.利用USART_BRR寄存器选择要求的波特率。

6. 设置USART_CR1中的TE位,发送一个空闲帧作为第一次数据发送。

7. 把要发送的数据写进USART_DR寄存器(此动作清除TXE位)。在只有一个缓冲器的情况下,对每个待发送的数据重复步骤7。

8. 在USART_DR寄存器中写入最后一个数据字后,要等待TC=1,它表示最后一个数据帧的传输结束。当需要关闭USART或需要进入停机模式之前,需要确认传输结束,避免破坏最后一次传输。

在配置USART的接收时,除上面的步骤外,还要使能接收中断并且配置中断向量控制器NVIC。

波特率的计算方法:



USART的编程:

1.定义USART_InitTypeDef类型的结构体 UART_init

2.使能GPIO的时钟和USART的时钟。(UART1 PA9为TX,PA9为RX)

3.配置UART_init结构体的各参数。 配置波特率、数据位、停止位、奇偶效验位、硬件流、收发模式

4.初始化UART_init结构体的各参数使用函数。

5.使能USART

6.定义GPIO_InitTypeDef类型的结构体GPIO_UART

7.讲相应GPIO引脚(PA10 RX PA9 TX)。

8.初始化GPIO引脚。

在配置接收模式时,还要使能接收中断,并且配置中断向量控制器NVIC。

在发送完数据时,要判断标志TC是否置位,在接收数据时,要判断是否有接收中断请求。


来源:互联网   作者:karen  2018/11/8 12:00:01
栏目: [ STM32单片机教程]

相关阅读

STM32单片机VDD与VDDA的供电方案

STM32学习笔记之fatfs文件系统接口函数使用

STM32单片机接收不定长度字节数据的方法解析

STM32单片机固件库建立工程的方法及步骤

STM32学习笔记:FSMC详述

STM32F4的FPU性能的设置及要点

STM32学习007_Systick使用(二)

STM32F4学习笔记12——RNG随机数发生器

STM32--UART异步通信学习

主流32位单片机攻略连载:为什么要学STM32?

详细的STM32单片机学习笔记

STM32单片机Systick函数的使用方法

基于STM32单片机的功能及特点

基于STM32F4系列MCU新建立用库工程的步骤及方法

STM32学习笔记之 关于电池检测滤波算法

STM32寄存器操作方式学习-时钟配置