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

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

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