說是教程,屬實是不敢當,只是把自己覺得較為正式的方式分享給各位,如有問題請提出大家一起討論。
文章目錄
- 軟件下載
- 軟件安裝
- 軟件使用
- 開發板工程
- 單片機工程
- 單片機工程創建
- 單片機工程配置界面
- 單片機工程具體配置
- 引腳功能配置
- 系統時鐘配置
- 工程配置
- Project
- Code Generator
- Advanced Settings
- 生成
軟件下載
-
搜索STM32CubeMX。官方鏈接:
STM32Cube initialization code generator
???? -
獲取軟件前建議注冊、登錄賬號。登錄后右上角會顯示個人信息,才會出現 “Get Software” 按鈕。??
-
點擊 “Get Software” 按鈕,跳轉到下方列表,選擇合適版本:
-
同意協議后,開始下載
軟件安裝
此軟件安裝過程十分經典,同意協議后一直下一步即可,固態硬盤電腦,安裝路徑默認即可。
軟件使用
-
軟件啟動后界面如下
-
其中,中間給出了三個選項按鈕,我先略說一下中間的開發板選擇按鈕和一些軟件好用的功能,后面大篇幅再講單片機按鈕的內容
開發板工程
為什么要先講開發板工程呢?
一是大體內容相同,而我所看到的各種教程,講開發板的少,初識STM32的同學不知道怎么找資料,不知道怎么用,而單片機,大家都知道上網去查手冊,所以先講講開發板的界面;
二是開發板其中很多界面和單片機界面類似,一通百通
-
如果購買了或者運氣好獲得了官方的開發板,那可以選擇中間按鈕 “ACCESS TO BOARD SELECTOR” ,進入后的界面如下
-
在首次或者每隔一段時間啟動STM32CubeMX時,軟件都會從服務器更新數據,等待即可自動完成
-
如果軟件運行過,且不需要更新的話,直接Cancel也是沒問題的,可后面手動點擊首頁的Update更新,不再贅述
-
-
右側列表是選型列表
-
由于我們大多數開發,都是基于某型的MCU或者MPU(截至當前ST的產品線)進行自定義開發,除非基于官方開發板的項目,否則均不選擇上述第二個按鈕,我們直接選擇第一個按鈕創建基于芯片的新項目即可
-
當然我還要在此提一句,如果有需要參考官方開發板設計的需求,那么查詢你所要的單片機型號是否有開發板,如果存在,右側列出并選擇:
-
-
具體的ST開發板產品線如下:
-
一般我們可以選擇根據單片機查找開發板
-
勾選需要的型號,例如我選擇了F4系列后,右邊列表選擇F411開發板,則上方會出現詳細資料,這和官網的資料一致,免去了官網查找的麻煩
-
此處提及幾個要點
-
點擊列表左側的?,可以進行收藏,收藏在左上角的Board Filters下方的星星處,一旦有了收藏后,星星即變為藍色,可在里面收藏常用型號的芯片和開發板
-
Docs選項卡中有資料:BOM、原理圖、手冊等等,右側是Datasheet,按需下載
-
下載后的文件都在用戶目錄下,直接復制到資源管理器(此電腦)地址欄即可
-
%userprofile%/STM32Cube/Repository
那么經過這一番操作,我們基本熟悉了軟件的大致布局,我們接下來切換到單片機選擇部分,有兩種方式:
- 當前頁面左上角直接切換
我想,經過對比,你一定看出了這三個按鈕的關系其實是一致的,在當前頁面直接選擇
此按鈕也可
- 我們也可以關閉當前頁面,恢復到初始頁面重新選擇
單片機工程
單片機工程創建
-
那么經過一堆廢話,到了最常用的部分,點擊進入后,填入單片機型號
-
直接雙擊列表中型號或選中后右上角啟動均可
-
創建工程后,我們開始配置工作
單片機工程配置界面
-
上面一行是幾大核心配置,左側一列是具體外設及GPIO等配置
-
時鐘配置
-
工程配置
單片機工程具體配置
此處我們還是以最簡單的點燈為例子,進行從系統時鐘、調試口、GPIO等的配置
引腳功能配置
-
RCC,按需開啟外部或內部時鐘,開啟后,右側引腳會有變化,請自行探索,而配置下方是詳細配置
-
我們可以選擇最常見的SWD調試接口
-
例如我們選擇PA1作為從電源 -> 電阻 -> LED -> IO灌入的接法,那么點擊PA1引腳,選擇GPIO_Output
-
GPIO默認輸出低電平,驅動LED一般配置為推挽輸出,所以無上拉也無下拉,最后的亮滅由程序決定
- 最下面還有個自定義標簽功能User Label,可以給IO自定義名稱,也就相當于寫在頭文件中的 “#define”
- 最下面還有個自定義標簽功能User Label,可以給IO自定義名稱,也就相當于寫在頭文件中的 “#define”
系統時鐘配置
我們已經在RCC頁面配置了內部或者外部時鐘,那么我們就要在時鐘配置界面進行各部分的詳細配置
在選擇為HSE后,則外部時鐘源高亮,內部未選擇,則沒有連接
將這里的8改成電路上的實際外部晶振數值,一般系統的總線頻率我們都配置為最大,這樣獲得更好的效果
- 這里我們先不要管其他外設的時鐘頻率,先輸入想要的總線時鐘,回車后軟件會自動配置,最后只需要檢查即可
- 如果時鐘配置有問題,會提示,我們點擊OK嘗試
接著,后面的外設就都被自動配置完成
如果對個別外設有特殊需求,再手動修改,否則即完成
到此,MCU配置相關的部分已經基本完成,下面進行的是工程配置
工程配置
Project
- 工程名稱:
- 規范地按照你的習慣起名字,注意不要有中文符號和空格等問題
- 工程位置:
- 位置自行選擇,還是中文路徑的問題,為避免編譯器問題,請養成良好習慣
- 編譯工具的配置:
- 大多數初學者入門包括很多工程師必不可少都在用Keil
- 現在STM32推出了他們的CLT包支持VSCode官方插件直接編譯調試,還有STM32CubeIDE等
- 這里我們還是選大多數人用的Keil,版本按照安裝的版本,我的是V5最新版,選擇大版本V5即可
- 大多數初學者入門包括很多工程師必不可少都在用Keil
其他部分保持默認
Code Generator
這里修改兩處:
- 我們只需要復制工程所需要的庫即可
怎么理解這句話,比如我們沒有用到USB、IIC、串口等等的功能,但在配置頁面勾選了一些功能,那么在這里勾選了All used libraries… 的話,就會使得工程目錄內存較大,可以選 僅使用必要的庫 - 勾選生成官方的.c和.h庫
Advanced Settings
里面有些高級配置,比如使用LL庫在這里配置,還有
一些寄存器調用等高級配置,若你需要配置它的時候,說明你已經不再適合讀這篇文章了
生成
最后,點擊右上角大大的按鈕,創建工程
- 若首次配置這個型號MCU的工程,因為沒有HAL庫的Firmware,故提示需要下載。
Yes即可
- 登錄ST賬號
- 登錄后在Help最后一項中可以看到
- 等待下載、安裝完成
- 最后彈出此對話框表示成功
Open Folder 表示打開工程文件夾
里面是STM32CubeMX的工程文件: xxx.ioc和Keil工程文件等,可以在此添加其他文件和版本管理
Open Project 表示選擇直接用Keil打開工程,接下來直接寫代碼更方便
下篇博客將會分享使用官方CLT配合VSCode的生成和代碼編輯方法