STM32微控制器的直觀選擇和時鐘樹配置
微控制器以圖形方式配置外圍設備和中間件的功能模式和初始化參數。
c代碼生成項目涵蓋了STM32微控制器的初始化符合IAR?凱爾的?和GCC編譯器。
對於新產品設計,強烈推薦使用STM32Cube,加快妳的開發進程,為以後的產品平臺移植打下良好的基礎。
1.新建工程
打開STM32cubeMX軟件,點擊新建項目。選擇相應的開放MCU(STM32F103ZET6)。
選擇項目,進入項目界面,如下圖所示。
2.配置外設。
RCC設置,選擇HSE(外部高速時鐘)作為晶體/陶瓷諧振器。
GPIO端口功能選擇,pf6,pf7,pf8,pf9為LED1-LED4。找到相應的引腳,將其設置為GPIO_Output模式。(此功能的帶黃色引腳的GPIO已用於其他功能,可以忽略。綠色表示pin已被使用)
3.時鐘配置
時鐘配置采用圖形配置,直觀簡單。每個外設時鐘壹目了然。STM32最高時鐘72M。這裏,只需在HCLK輸入72,就可以自動配置軟件。(RCC選擇外部高速時鐘)。
4.功能外設的配置
在配置框中,我們可以看到有幾個區域有相應的功能設置,如下。
多媒體:音頻和視頻,液晶顯示器。
控制:定時器
模擬:數模轉換器、模數轉換器
連接:串口,SPI,I2C,USB,以太網。
系統:DMA(直接內存訪問),GPIO,NVIC,RCC,看門狗。
中間件(middleware): FreeRTOS,FATFS,LwIP,USB。
在這個項目中,DMA沒有配置是沒用的,NVIC(嵌套向量中斷控制器)配置中斷優先級。不需要配置RCC。
GPIO引腳電平:低電平。
GPIO模式:推挽輸出。
最大輸出速度:低速。
用戶標簽:LED1。
更改用戶標簽,引腳配置圖將顯示該引腳的標簽。
4.功耗計算
這將根據所配置的外設計算功耗,而不考慮其他因素。
5.生成工程報告
單擊項目->;生成報告或單擊快捷圖標生成報告。系統將提示您首先創建壹個項目。單擊“是”設置項目。
輸入項目名稱並選擇項目路徑(註意不要出現中文,否則可能會出錯)。為工具鏈/IDE選擇MDK-ARM V5。您可以在末尾設置堆棧大小,默認情況下不會修改。
在代碼生成器中找到Generated files框,並檢查Generated Peripher a初始化為壹對。c/。' h '每個IP文件。外設初始化為獨立的C文件和頭文件。
點擊生成報告,項目目錄下會生成壹個txt文件和壹個pdf文件,記錄我們剛才的設置。
6.生成工程代碼
單擊項目->;生成代碼或單擊快捷圖標生成工程代碼。
單擊“打開項目”打開項目。至此,工程外設的初始化配置完畢。
單擊Build按鈕,Build Optput消息框將不會輸出任何錯誤和警告。
6.添加應用程序
在gpio.c文件中可以看到LED管腳的初始化功能。
GPIO的運算函數可以在頭文件stm32f1xx _ Hal _ gpio.h中看到。
在主函數中增加了while循環中LED行車燈效果的應用。
重新編譯程序,點擊下載到Open103Z-C開發板。如果提示錯誤,可以點擊圖標修改目標選項的Dubug選項。(在圖片上選擇了ST-LINK)
單擊設置-& gt;閃存下載檢查重置和運行選項。這樣程序下載後自動開始運行,不需要按復位或者重新上電就可以運行。
該程序下載到Open103Z-C開發板。可以看到LED1~LED4依次點亮,達到流水燈的效果。
總結:STM32Cube提供了壹個固件庫,用戶可以直接調用固件庫函數進行開發,可以很好的實現STM32-MCU的代碼壹致性。同時,STM32CubeMX工具提供的可視化管腳、外設、時鐘等配置功能可以幫助快速完成項目的建立和初始化。大大減少了開發人員的工作量。