簡介
本文內容基於 LKS453 對 UART 特性、參數配置進行了介紹,並使用 uart_MCU_send_data Demo 程序進行 Handson 實驗,實現了 MCU UART 將 01-06 數據發送到串口助手上,並通過串口列印出來。
硬體平台:凌鷗創芯-LKS_EVB_MCU453_V2.0 板,WPI-LPCLINK2 Debugger_V1.0 板
軟體平台:Keil
一、UART特性:

▲ 圖 1 來自LKS32MC45x_User_Manual_v1.47
LKS32MC453 有 3 路 UART,全雙工工作,支持 8/9 位數據位、1/2 停止位、奇/偶/無校驗模式,帶 1 字節 ,發送緩存、1 字節接收緩存,支持 Multi-drop Slave/Master 模式,波特率支持 300~115200。
二、程序分析
2.1 Demo函數概述
- main 函數:程序對 UART 進行了初始化,發送數據 01-06。
|
int main(void) { u8 num = 0; uart_init(); //UART 初始化 for (uint8_t i=0;i<6;i++) // 循環6次 { num++; // 數據自加 UART_DelaySendOver(UART1); // 發送數據前需要等待之前的數據發送完成 UART_SendData(UART1, num); //發送數據 } } |
uart_init(); 函數: 程序初始化 UART 時鐘,設置 UART 波特率為 115200,UART TX/RXGPIO 的復用。
|
void uart_init() { UART_InitTypeDef uart1_config; GPIO_InitTypeDef uart1_gpio_config.
uart1_config.BAUDRATE = 115200; // UART波特率為115200 UART_Init(UART1, &uart1_config); //是能 UART 時鐘,配置 UART 波特率為115200
uart1_gpio_config.GPIO_Pin = GPIO_Pin_6; // TX GPIO PIN uart1_gpio_config.GPIO_Mode = GPIO_Mode_OUT; // 輸出模式 uart1_gpio_config.GPIO_PuPd = GPIO_PuPd_NOPULL; // 無上下拉 uart1_gpio_config.GPIO_PODEna = DISABLE; //不使能開漏 uart1_gpio_config.GPIO_PFLT = DISABLE; // 不使能濾波 GPIO_Init(GPIO2, &uart1_gpio_config); // UART TX GPIO參數配置,並使能GPIO2時鐘
GPIO_StructInit(&uart1_gpio_config); uart1_gpio_config.GPIO_Pin = GPIO_Pin_5; // RX GPIO PIN uart1_gpio_config.GPIO_Mode = GPIO_Mode_IN; //輸入模式 uart1_gpio_config.GPIO_PuPd = GPIO_PuPd_NOPULL; //無上下拉 uart1_gpio_config.GPIO_PODEna = DISABLE; //不使能開漏 uart1_gpio_config.GPIO_PFLT = DISABLE; // 不使能濾波 GPIO_Init(GPIO2, &uart1_gpio_config); // UART RX GPIO參數配置,並使能GPIO2時鐘
GPIO_PinAFConfig(GPIO2, GPIO_PinSource_5, GPIO_AF_UART); //GPIO2 的第5 PIN,復用為 UART RX GPIO GPIO_PinAFConfig(GPIO2, GPIO_PinSource_6, GPIO_AF_UART); //GPIO2 的第6 PIN,復用為 UART TX GPIO } |
UART_DelaySendOver(UART1); 函數: 發送數據前需要等待之前的數據發送完成。
UART_SendData(UART1, num); 函數:發送 32 位數據 n。
|
void UART_SendData(UART_TypeDef *UARTx, u32 n) { UARTx->BUFF = n; } |
三、實驗現象
3.1 操作環境:如圖2 所示,用 WPI-LPCLINK2 Debugger_V1.0 板連接凌鷗創-LKS_EVB_MCU453_V2.0 板。WPI-LPCLINK2 Debugger_V1.0 板使用 CMSIS-DAP Debugger 的 Debug 方式對 LKS453 MCU 進行程序燒錄。
▲ 圖 2 WPI-LPCLINK2 Debugger_V1.0 板連接 LKS_EVB_MCU453_V2.0 板
3.2 串口助手接收到數據 01-06:

▲ 圖 3 來自開源串口助手 開源電子網: www.openedv.com
四、總結
綜上基於 LKS453 對 UART 特性、參數配置進行了介紹,並通過 Handson 實現了 MCU UART 將 01-06 數據發送到串口助手上,並通過串口助手列印出來。以上內容為 LKS453 MCU UART特性、參數配置簡介,如果有問題,可以發送郵件 atu.sh@wpi-group.com 與我們聯繫。
五、參考文獻
(1) LKS32MC45x_User_Manual_v1.47
(2) LKS32MC45x_Datasheet_v1.53
(3) 串口助手:XCOM V2.0 (開源電子網: www.openedv.com)
(4) SDK:LKS32MC45x_PeripDemo_v2.5
(5) 原理圖:LKS_EVB_MCU453_V2.0.SchDoc
歡迎在博文下方留言評論,我們會及時回復您的問題。
如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:紮根地下
更多資訊,請掃碼關注我們!
評論