STM32Cube基礎工程配置


開發板:正點原子STM32F4探索者   (2019-08-10 22:04:39

開發環境:MDK5.28.0.0 + STM32CubeMX5.3.0 + STM32CubeF4 V1.24.0

內容:使用STM32Cube配置LED0和UART1,實現LED0閃爍和UART1發送

  STM32CubeMX選擇芯片后界面。左側欄為功能列表,配置相應的功能打開列表,會有詳細功能名稱;右側為ST芯片模型,引腳分布。首先,應該配置芯片的時鍾來源——芯片的時鍾很重要,根據硬件實際配置時鍾來源:打開 System Core 欄目下的RCC,即為芯片時鍾配置。

  RCC 配置界面。以外部時鍾為例,STM32CubeMX中外部時鍾配置可選類型為 Disable 、 BYPASS Clock Source(旁路時鍾源) 、Crystal/Ceramic Resonator(石英/陶瓷 晶振) 三種類型。參考手冊中介紹 HSE 如下圖:

  外部時鍾即為旁路時鍾源,只需要外部提供時鍾接入OSC_IN引腳,OSC_OUT引腳懸空,對應選擇為BYPASS Clock Source;諧振器即相當於石英/陶瓷 晶振,OSC_IN 與 OSC_OUT引腳都要連接,對應選擇為Crystal/Ceramic Resonator。開發板使用的是晶振,所以RCC的HSE選項設置為Crystal/Ceramic Resonator。時鍾的來源確定后需要配置芯片內部的多個時鍾線,進入Clock Configuration頁面,可以根據時鍾樹直觀地配置時鍾。下圖所示為開發板時鍾配置,開啟外部時鍾8MHz,PLL時鍾來源於HSE,經過鎖相環的分頻與倍頻后得到168MHz時鍾,System Clock Mux時鍾來源選擇PLLCLK,AHB分頻器設置1分頻(不分頻),得到168MHz的主頻時鍾,HCLK = 168MHz。

  時鍾配置完成以后,可以在 Connectivity 欄開啟UART功能,USART1可以開啟的模式有Asynchronous——異步通訊、synchronous——同步通訊、Single Wire(Half-Duplex)——單線(半雙工)通訊,此處配置為異步通訊。

 

  此外,這些功能也可以通過右側的ST芯片模型直接在管腳設置。這種設置方法只需要我們單擊對應的管腳,就會列出該管腳對應的功能,點擊選擇即可。從左側列表開啟功能時會默認選擇一組引腳,如果與實際工程的引腳不符合可以采用先設置引腳功能再從左側開啟功能。如果需要啟用仿真,還要配置相應的引腳並開啟對應功能,否則使用仿真器會發生出現問題。

  整體功能開啟完畢后,可以從NVIC統一設置中斷開啟和優先級配置;在DMA欄統一設置相應數據流;GPIO欄可以設置啟用的所有I/O接口,還可以自己定義這個引腳的名字(User Lable);另外生成的函數會根據CubeMx的參數進行配置,所以在功能欄里設置對應功能的參數(parameter)。

  功能配置完成無誤后,就可以生成代碼了。點擊進入Project Manager界面,點擊Project,在 Project Setting 框里設置Project Name、Project Location,Toolchain/IDE選項為設置生成工程的IDE類型,常用的是MDK-ARM V5(KEIL)和 EWARM V7(IAR)兩種。設置完成后點擊GENERATE CODE 即可生成工程代碼。


免責聲明!

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



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