字符发送的进程描绘:在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是否置位,在接纳数据时,要判别是否有接纳中止请求。