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位,使能數據接收
這裏寫圖片描述
這裏寫圖片描述