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