1. 程式人生 > >STM32Cube 簡單實驗的翻譯

STM32Cube 簡單實驗的翻譯

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語言程式碼將被丟失。