一、簡介
通用同步異步收發器(USART)是一種全雙工串行數據交換接口,支持同步或異步通信。可靈活配置,以便於與多種外部設備進行全雙工數據交換。
USART 接口發送與接收波特率可配置,也支持通過 DMA 進行連續通信。USART 還支持多處理器通信、LIN 模式、同步模式、單線半雙工通信、智慧卡異步協議、IrDA SIR ENDEC 功能、以及硬體流控制功能。支持全雙工通信。
USART 框圖
二、無法正常列印異常排查
- 確認 UART TX/RX 是否接好 (MCU_PA9/TX1、MCU_PA10/RX1)
- 驗證確認現象,對異常現象分析可能的原因。
- 結合《 UM_N32L40x 系列用戶手冊 0.pdf 》和《 DS_N32L40x 系列數據手冊 V1.0.pdf 》逐步排查。
2.1 結合原理圖排查硬體接線
具體步驟:
2.1.1 確保板子上電正常,並正確連接 Debug USB 口到 PC 端
2.1.2 檢查跳線 MCU_RX/MCU_TX 接線帽是否連接
2.2 驗證現象
具體步驟:
2.2.1 打開 PC 端 XCOM,並設定 波特率、停止位、數據位、奇偶校驗位
2.2.2 不更改代碼的情況下,先燒寫代碼到 Demo 板
2.2.3 復位板子觀察現象(確認無法列印)
2.3 排查軟體
具體步驟:
2.3.1 檢查 RCC_Configuration 是否使能相應時鐘
2.3.2 查看 GPIO_Configuration() 配置是否正常
2.3.3 修改後,重新編譯下載測試
/*檢查 Uart 時鐘配置 */
void RCC_Configuration(void)
{
/* Enable GPIO clock */
GPIO_APBxClkCmd(USARTx_GPIO_CLK, ENABLE);
/* Enable USARTx Clock */
USART_APBxClkCmd(USARTx_CLK, ENABLE);
}
#define GPIO_APBxClkCmd RCC_EnableAPB2PeriphClk
#define USARTx_GPIO_CLK RCC_APB2_PERIPH_GPIOA
/*檢查 GPIO配置 */
void GPIO_Configuration(void)
{
GPIO_InitType GPIO_InitStructure;
/* Initialize GPIO_InitStructure */
GPIO_InitStruct(&GPIO_InitStructure);
/* Configure USARTx Tx as alternate function push-pull */
GPIO_InitStructure.Pin = USARTx_TxPin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Alternate = USARTx_Tx_GPIO_AF;
GPIO_InitPeripheral(USARTx_GPIO, &GPIO_InitStructure);
/* Configure USARTx Rx as alternate function push-pull and pull-up */
GPIO_InitStructure.Pin = USARTx_RxPin;
GPIO_InitStructure.GPIO_Pull = GPIO_Pull_Up;
GPIO_InitStructure.GPIO_Alternate = USARTx_Rx_GPIO_AF;
GPIO_InitPeripheral(USARTx_GPIO, &GPIO_InitStructure);
}
#define USARTx_RxPin GPIO_PIN_10
#define USARTx_TxPin GPIO_PIN_9
#define USARTx USART1
#define USARTx_GPIO GPIOA
#define USARTx_Rx_GPIO_AF GPIO_AF1_USART1
#define USARTx_Tx_GPIO_AF GPIO_AF1_USART1
通過 UM_N32L40x 系列用戶手冊 V1.0.pdf 手冊,查找 GPIO 和 AFIO 章節,5.2.5.9.1 USART1 管腳重映射,發現 GPIO 重映射配置不正確,應該配置為 AF4,重新修改編譯下載到 Demo 板運行正常。
#define USARTx_Rx_GPIO_AF GPIO_AF4_USART1
#define USARTx_Tx_GPIO_AF GPIO_AF4_USART1
三、參考文獻
[1] UM_N32L40x 系列用戶手冊 V1.0.pdf
[2] DS_N32L40x 系列數據手冊 V1.0.pdf
歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
作者:John Ge / 葛龍
評論