STM32 UART学习

UART配置步骤:

1、初始化串口所需要的GPIO

2、初始化串口,USART_InitTypeDef

3、中断配置(接收中断,中断优先级)

4、使能串口

5、编写接收和发送函数

6、编写中断服务函数

 

key points:

/* 等待发送数据寄存器为空 */

while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);

/* 等待发送完成 */
while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET)

TC和TXE的区别:

这两个标志位是有时间先后顺序的,TC要在TXE置位并且数据传输完成后才置位,表明TXE是更早发生的。TXE只能表明数据寄存器的数据被传输的移位寄存器,而此时数据并没有发送出去。

TC则表示一帧数据发送完成,缓冲区的数据都已经发送出去了,甚至接收端也已经收到数据了。

posted on 2022-11-04 09:29  徐庄小菜鸡  阅读(140)  评论(0)    收藏  举报