6.1 創建一個新的STM32CubeMX工程 1.在開始菜單中選擇File>New PRoject或者在歡迎界面中選擇New Project 2.選擇MCU Selector tab 然后進入STM32 芯片集選擇對應型號的設備 3.選擇MCU并點擊OK
用MCU信息填充的STM32CubeMX視圖:
通過對Window> Outputs 的取消選擇,清除MCU的選擇按鈕窗口
6.2 配置MCU引腳輸出 關于對菜單的細節描述,高級的作用和復雜的解決方法,參考其他 1.默認的,STM32CubeMX顯示引腳輸出。 2.默認的,沒有選中,它起允許STM32CubeMX來圍繞外圍的功能移動并可以找到最好的引腳分配,這是一種容納最大數量的外圍模式。 既然MCU引腳配置必須符合STM32F4DISCOVERY板,在STM32CubeMX中允許來維持外圍功能的分配到一個給定的引腳。 3.選擇必須的外設和外圍功能 a):通過右擊在可視圖上的PD12來配置GPIO來輸出信號到STM32F4DISCOVERY板綠色的LED,然后選擇GPIO_output。 b):使能一個定時器用來做時間基準來讓LED閃爍。通過設置在外圍的樹中的內部定時器TIM3。
c):為了用外部晶振,你也可以配置RCC作為可能的時鐘源。
注意:使用STM32CubeMX 4.2,用戶可以通過從Board selector tab里直接加載 ST Discovery板,跳過引腳輸出配置。
6.3 保存工程 1.點擊保存工程 當你第一次保存工程,給工程設置存儲路徑和文件名。.ioc擴展名自動被添加,用來指示這個是一個STM32CubeMX配置文件
2.點擊保存工程為一個不同的地址或名字
6.4 生成報告 報告可以在配置的任何時刻被生成。 1.點擊來生成.pdf或.txt的報告 如果還沒有創建工程,會產生一個警告來提醒用戶首先保存這個工程并且需要給工程命名和指定保存路徑。然后一個.ioc文件被生成并且一個.pdf或.txt格式的報告生成為同樣的名字。如果選擇“NO”將會要求你只為報告提供名字和地址。
當成功創建的時候,會展示一個確認消息。 2.這個報告概述了所有這個工程執行的設置和配置。
6.5 配置MCU時鐘樹 下面的步驟描述了如何通過此應用配置基于STM32F4 MCU的時鐘。 STM32CubeMX自動從時鐘源和用戶設置的分配器生成了系統,CPU和AHB/APB總線頻率。根據動態的最大值最小值驗證,錯誤的設置會被發現并被用紅字突出標記。當設置不可用或錯誤時,可用的工具提供詳細的選項描述來確保不會出錯。用戶的頻率設置可以影響一些外圍器件的參數(例如:UART的波特率范圍)。 STM32CubeMX使用被定義在可視的時鐘樹上的時鐘設置來生成對每一個外部時鐘的C語言代碼初始化。時鐘設置作為生成RCC初始化的一部分C語言代碼在main.c和stm32f4xx_hal_conf.h中被執行。(HSE, HSI and External 時鐘值表達為赫茲)。 按照以下的順序配置MCU時鐘樹: 1.點擊Clock Configuration來顯示時鐘樹。 內部(HSI,LSI)、系統(SYSCLK)、外部時鐘頻率的選項不能被編輯。系統和外部時鐘可以通過選擇被調整,可以選擇用PPL,分頻器和乘法器。
2.首先選擇時鐘源(HSE(高速外部時鐘), HSI(高速內部時鐘)or PLLCLK),它將驅動微控制器的系統時鐘。
為了用外部時鐘源(HSE或者LSE),需要在PinOut界面配置外部RCC,因為引腳要被用以連接外部晶振。
其它在STM32F4DISCOVERY 板上的時鐘配置需要做: ——設置外部的高速外部時鐘源,輸入8在HSE輸入框是因為一個8MHz的外部晶振連接到了開發板上。
——設置外部PLL時鐘源,HSI或者HSE作為PLL的輸入時鐘源。
3.用HSI讓內核和外部時鐘保持16MHz,不要用PLL和預分頻器。 注釋: 用PPL,預分頻器和乘法器能產生更多適合系統和外部時鐘的頻率: ——USB OTG FS,隨機數發生器和SDIO時鐘被PLL的獨立輸出所驅動 ——I2S外設隨著他們自己的外部時鐘(PPLI2S)發生,或者被一個獨立的外部時鐘源驅動。 ——USB OTG HS和以太網時鐘被外部時鐘源驅動。
4.為微控制器時鐘輸出(MCO)引腳配置分頻允許輸出兩個時鐘信號到外圍電路。 5.點擊來保存工程。 6.去Configuration欄來繼續工程配置。
6.6 配置MCU初始化參數 提示: 通過STM32CubeMX生成的C語言用STM32CubeMX固件庫實現了MCU外設和中間件的初始化。 6.6.1 初始的環境 選擇Configuration欄來顯示配置界面。 在ip Tree框內,沒有相互影響的外設和中間件模式可以被啟用或禁用。影響引腳分配的模式只可以在Pinout欄中選擇。 在主界面,當外設配置不適當的時候,顯示工具箱和警告信息 注意:RCC外設初始化既會用這個界面的參數配置又會用時鐘樹界面的參數配置(時鐘 源、頻率、分頻值等等)。
6.6.2 配置外設 在主界面,每一個外部的實例和按鈕的名字相一致。一些外部的功能沒有以配置的參數如下圖:
按照下面的步驟來完成參數配置: 1.點擊外設的按鈕來打開相應的配置窗口。 在例子中, A)點擊TIM3打開時鐘配置窗口
B)在16MHz的APB時鐘下,設置分頻為16000以每毫秒為周期,并且計數器1000 個周期讓LED閃爍。 2.可選的和可用的設置 ——NVIC Settings選項用來顯示NVIC的配置和為外設使能中斷。 ——DMA Settings選項用來顯示DMA配置和為外設配置DMA通道。 在教程的例子中,DMA沒有使用,GPIO設置保持不變。中斷如圖被使能:
——GPIO Settings選項是用來顯示GPIO配置和配置外設的GPIO
3.修改并點擊Apply或者OK來保存你的修改。
6.6.3 配置GPIO 用戶可以在這個窗口中調整所有的引腳配置。一個小的圖標和一個提示框表示配置狀態。 按照如下順序配置GPIO: 1.在配置界面中點擊GPIO按鈕來打開一個如下所示的GPIO配置窗口。
2.第一個標簽顯示一個被指定GPIO模式的引腳,但是沒有一個專門的IP??梢源蜷_配 置為引腳設置一個引腳名稱。 在教程中,選擇PD12,設置輸出和上下拉模式來驅動STM32F4DISCOVERY的LED。
3.點擊Apply或OK來關閉這個窗口。
6.6.4 配置DMA 推薦使用DMA轉換來為CPU減負。DMA配置窗口提供了一個簡單快速的方法來配置DMA。 1.添加一個新的DMA請求并且在列表內的配置。 2.從可選擇的條中設置。 3.設置方向:存儲器到外設或者外設到存儲器。 4.設置優先級. 注釋:為DMA配置一個IP也可以用IP配置窗口。
6.6.5 配置中間件 在教程中這不是必須的。 如果一個外設想要中間件的功能,這個外設必須在Pinout界面中配置,才能使中間件功能變的可用。提示欄可以用提示框引導用戶在如下的FatFs例子中:
1.在Pinout界面中配置這個USB的IP。
2.為USB控制中間件選擇MAC_FS類。 3.在樹形控制板中選擇這個選擇框來開啟FatFs功能。 4.選擇Configuration視圖,FatFs和USB按鈕就被顯示出來了。 5.FatFs和USB應用的默認設置已經被標記在里,點擊FatFs或者USB按鈕來顯示默認設置。你也可以根據在窗口底部的指導來改變它們。
6.7 獲得一個完整的C工程。 6.7.1 設置項目選項 默認項目設置可以像圖中描述的一樣在生成C代碼之前被調整。 1.選擇在Project窗口里Setting的來打開工程設置窗口。 2.選擇Project Tab,選擇一個名字,位置和工具鏈(IDE)來生成項目文件。
3.選擇選項Code Generator來選擇各種C語言代碼生成的操作: ——在工程文件夾中拷貝庫文件。 ——C語言代碼恢復。(如C語言代碼恢復期間什么被留下或備份) ——HAL特定的功能。(如把所有空閑的引腳設置成模擬IO來減少MCU功耗) 注釋:當固件包找不到的時候會出現一個對話框。跳轉到下一個部分來說明如何下 載固件包。
6.7.2 下載固件包并生成C語言代碼 1.點擊來生成C語言代碼 在C語言代碼生成期間,STM32CubeMX從相關的STM32CubeMX固件包中拷貝文 件到工程文件夾中使工程可以編譯。當第一次生成工程文件時,這個固件包在用戶 的電腦上不可用并展示一個警告消息。
2.STM32CubeMX提供有關固件包或者鏈接。點擊下載來獲得一個完整的項目,準備被 用在選擇的IDE上。 點擊繼續,只有Inc和Src文件夾將被創建,保存STM32CubeMX生成的初始化文件。 必要的固件庫和中間件庫將被手動拷貝來獲得一個完整的項目。 如果下載失敗,會顯示如下錯誤信息:
3.選擇Help > Updater settings menu來判斷連接參數來匹配你的網絡配置。
4.點擊Check connection,建立練級一次后這個連接選項變綠。
5.一旦連接功能,點擊來生成C語言代碼。C語言代碼生成進度顯示如下圖
6.最后,顯示一個完成信息來指示C語言代碼成功生成。 7.點擊Open Folder來顯示生成的項目文件內容或者點擊Open Project在你的IDE中直 接打開工程。
生成的工程包含: ——在根目錄中有STM32CubeMX .ioc工程文件。它包含了STM32CubeMX用戶端的工 程的用戶配置和生成設置。 ——保存了驅動和中間件文件夾和有關用戶配置的固件包文件。 ——Projects文件夾保存特定的IDE所有需要工程發展和調試文件。 ——Inc和Src文件夾包含STM32CubeMX生成的中間件,外設和GPIO初始化文件,包 括main.c文件。STM32CubeMX生成的文件包含用戶可編寫部分允許用戶編寫C代 碼。 寫在用戶段的C語言代碼在下一次C語言代碼生成的時候受保護,除非C語言 代碼寫在外面或段放不下了。 如果用戶段被移動或者分隔符被重命名,用戶C語言代碼將被丟失。
新聞熱點
疑難解答