STM32F407串口調試總結


一、背景

最近項目開發需要用到3路串口,分別為U1U5U6,其中U1原子哥的例程已經提供,拿過來就可用,本文主要講解U5U6串口調試。

二、正文

1、硬件描述

三個串口分別對應的發送引腳和接收引腳如下表所示:

串口號

接收引腳

發送引腳

USART1

PA9

PA10

UART5

PC12

PD2

USART6

PG14

PG9

2、串口介紹

USART為通用同步異步接收器,能夠靈活地與外部設備進行全雙工數據交換,滿足外部設備對工業標准NRZ異步穿行數據格式的要求。

STM32F407ZGT6最多可以提供6路串口。雖然有6路通信,但是只要理解其中1路串口是如何設置的,其他的串口基本都是大同小異,串口設置的一般流程如下:

 

其中需要注意以下點:

1)、使能串口時鍾時,要注意該串口時掛在那一個APB下面

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART6,ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART5,ENABLE);

其中串口5和串口6時鍾所掛在的APB不一樣。

 

2)GPIO口模式設置時不能配置為輸入或者輸出模式,只能配置為復用功能GPIO_MODE_AF

 

3)、引腳復用器映射發送和接收引腳要分開寫,不能用|”符號寫成一條語句。

GPIO_PinAFConfig(BT1_TX_PORT,BT1_TX_PINSOURCE|BT1_RX_PINSOURCE,GPIO_AF_UART5);   // 錯誤書寫

 

GPIO_PinAFConfig(BT1_TX_PORT,BT1_TX_PINSOURCE,GPIO_AF_UART5);  // BT1_TX

GPIO_PinAFConfig(BT1_RX_PORT,BT1_RX_PINSOURCE,GPIO_AF_UART5);  // BT1_RX

參考資料:http://blog.163.com/y_chengwan@126/blog/static/166026328201232675952136/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM