stm32串口基本配置

STM32串口基本配置
1 时钟使能(用到哪个串口和GPIO要把相应的时钟开启);
2 串口复位;(一般在系统刚开始配置外设的时候,都会先执行复位该外设的操作。)
3 GPIO口配置;
4 串口参数配置;
5 根据需要开启中断

串口参数配置(发送端)
1 USART_CR1寄存器的UE位置1 使能USART ———-
这里写图片描述
这里写图片描述
2 设置USART_CR1寄存器的M位定义字长
这里写图片描述
3 设置USART_CR2寄存器的STOP位定义停止位的位数
这里写图片描述
这里写图片描述
4 设置USART_CR1寄存器的TE位,使能数据发送
这里写图片描述
这里写图片描述
5 配置USART_BRR寄存器定义波特率
这里写图片描述
这里在USART_BRR寄存器里设置的并不是波特率值,而是USARTDIV,算是波特率的分母(STM32的USART是分数波特率),它与波特率之间还存在着一个换算
这里写图片描述
fck是时钟:USART1使用PCLK2(最高72MHz),其它USART使用PCLK1(最高36MHz)
6 把要发送的数据写进USART_DR寄存器
这里写图片描述
串口参数配置(接收端)
1 USART_CR1寄存器的UE位置1 使能USART
2 设置USART_CR1寄存器的M位定义字长
3 设置USART_CR2寄存器的STOP位定义停止位的位数
4 设置USART_CR1寄存器的RE位,使能数据接收
这里写图片描述
这里写图片描述