這里講下手動加載STM32CUBE固件庫的使用問題。這里以STM32CubeL1的CUBE固件庫的加載過程為例。先從ST官網(wǎng)或其它地方下載到針對STM32L1系列的CUBE固件包stm32cube_fw_l1_v120.zip,將其放到除了Repository Folder文件夾的任何地方,然后進行庫文件的加載,即把下載到的stm32cube_fw_l1_v120.zip加載到STM32CUBEMX環(huán)境里。 先點擊 HELP\Install new liabrary...出現(xiàn)如下界面:【圖中的32CubeL1固件庫的地方已經(jīng)綠色方框了,說明已經(jīng)是加載好了。加載前應(yīng)該是空白框,這里示意下而已。】

點擊上圖中的紅色箭頭所指,進行壓縮包的加載完成。如下圖所示:

3、這里再聊聊工程項目文件的路徑話題。點擊STM32CubeMx的菜單 project\settings\即可看到下面圖示界面。有關(guān)工程項目的名稱、路徑、編譯環(huán)境、用到的MCU型號及其固件庫的信息都顯示得很清楚,你可以自行命名工程項目和調(diào)整其存放目錄。注意,最下面兩項關(guān)于MCU及固件版本信息此處你沒法調(diào)整。
這里要提醒的是,工程項目路徑中不能夾雜中文字符,不然編譯時會出錯,并做如下提示:
還有,你建立工程文件后,電腦里安裝的相關(guān)的編譯環(huán)境版本要匹配,不要低于STM32CubeMx里期望的。
4、最后提下,使用STM32CubeMx配置過程中常遇到的其它幾個話題。
4.1、在做CLOCK configuaration時,如果需要用到外部時鐘源的話,必須在管腳配置狀態(tài)Pinout欄,對RCC外設(shè)進行配置。
其中一個選項Bybass clock source 是指從外部引入相應(yīng)的時鐘源到MCU振蕩電路部分。Crystal/Ceramic Resonator 是指我們常用的晶體或陶瓷振蕩器。
4.2、在做NVIC【中斷矢量控制器】配置時,這點需要你對各個系列內(nèi)核的中斷控制有所了解,在對32F1/F2/F3/F4系列芯片配置時,首先要選擇中斷優(yōu)先級的分組,然后再對各個中斷源進行優(yōu)先級的安排,當(dāng)然后面可以在代碼中適時更改。如下圖所演示:
當(dāng)然對于M0或M0+內(nèi)核的32F0/32L0來說就沒有中斷優(yōu)先級分組的問題,只需設(shè)置優(yōu)先級高低就好。如下圖所演示:
4.3、不算問題的問題。
的確,利用STM32CUBEMX可以幫助開發(fā)工程師方便地對STM32 MCU的有關(guān)外設(shè)管腳和時鐘及中間件做配置,整個過程中多數(shù)情況下只需動動鼠標(biāo)就好,最后生成比較完整的配置文件供工程項目使用。尤其在管腳安排和時鐘配置方面,大大節(jié)省了工程師們研讀手冊的時間和精力。不過它畢竟是個輔助工具,雖然省卻了許多研究手冊的時間,但不等于你啥都不要研讀就能完成的,基本的東西還是需要了解和研讀,即使動鼠標(biāo)打勾也還得知道怎么選才行。
比方說,前面提到的NVIC配置問題,如果不清楚NVIC基本知識及相關(guān)應(yīng)用的響應(yīng)需求,一通亂點后生成的NVIC配置文件恐怕根本不是你真正想要的。
再比方常見的TIMER應(yīng)用配置問題,如果你對STM32 TIMER沒做基本了解,在做TIMER配置時看到下面選項估計也無從下手。
最后順便提下,STM32CUBE工具軟件及相關(guān)庫文件涉及的東西很多,其版本一直有保持更新完善中,盡量使用最新版本,建議開啟其自動升級功能。在對STM32CubeMx升級時往往需要重啟,重啟后一般要以管理員身份操作才能完成升級。