一建立STM32cubeMX工程1.建立新工程,選擇芯片STM32F302CCTx2. 在Pinout 中時鐘配置為高速外部時鐘, UART配置為異步通信, cube 會自動分配引腳。3.Clock Configuration 中配置如下4.configuration 中點(diǎn)擊USART1可進(jìn)入配置在USART1 configuration 中Parameter settings 可以配置波特率,發(fā)送數(shù)據(jù)字長,奇偶校驗(yàn)位和停止位等。NVIC Setting 可以配置中斷優(yōu)先級。5.生成keil 軟件代碼點(diǎn)擊工具欄中的齒輪按鈕,可以選擇代碼的開發(fā)平臺, ok 結(jié)束。(文件保存路徑一定要是全英文的)進(jìn)過了我們一系列的配置, cube 會為我們自動生成keil 軟件的代碼,代碼中包括工程所需的固件庫,配套的頭文件,啟動文件及用戶文件。在main.c 中包括了我們工程所需外設(shè)的初始化,包括了系統(tǒng)時鐘初始化,中斷初始化, GPIO初始化, USART1初始化, HAL庫初始化。我們只需要在main.c 中添加我們自己的代碼就可以了。二keil 軟件代碼及HAL庫使用UART_HandleTypeDef huart1;生成的代碼中有聲明一個USART處理的結(jié)構(gòu)體HAL庫中串口的數(shù)據(jù)收發(fā)有四個函數(shù)HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);指針huart 指向我們之前定義的USART處理結(jié)構(gòu)體, 我們將在函數(shù)中對結(jié)構(gòu)體中的參數(shù)進(jìn)行操作。pDate 是我們自己定義的數(shù)據(jù)發(fā)送接收緩存, Size 發(fā)送接收數(shù)據(jù)個數(shù), Timeout 超時持續(xù)時間。UART狀態(tài)的結(jié)構(gòu)體:我們在發(fā)送接收函數(shù)中要經(jīng)常對USART的狀態(tài)進(jìn)行判斷,以便我們對函數(shù)結(jié)構(gòu)體中的參數(shù)進(jìn)行操作
標(biāo)簽:
stm32cubemx
串口
上傳時間:
2022-06-22
上傳用戶:shjgzh