飛書文檔https://x509p6c8to.feishu.cn/wiki/LfMpwjktZiMAuMkayt6c0LGZnpx
1、打開STM32CUBEMX,選擇File->New Project
?
如果首次使用,可能會自動下載一些依賴包,可以等待下載完成。
2、選擇對應芯片 MCU/MPU Selector->輸入“STM32F103RC”->選擇搜索到的芯片"STM32F103RCTx"->Start Project
點擊Start Project后,等待創建完成即可看到下方界面。
設置時鐘源
芯片要運行起來,必須要有時鐘源,在STM32中,我們可以選擇外部或內部時鐘作為芯片時鐘源。
這個圖中,我先只關注LSI HSI 、LSE HSE和HCLK
內部時鐘 LSI HSI
STM32 MCU內部自帶RC振蕩電路,其內部時鐘就是RC振蕩器產生的。 但是RC振蕩器精度遠低于晶振,且容易受到溫度的影響。 |
外部時鐘 LSE HSE
外部時鐘一般有兩種接法 外部接有源晶振或其他直接時鐘輸入源:BYPASS Clock Source模式(旁路時鐘源) 外部接無源晶振:Crystal/Ceramic Resonator模式(晶體/陶瓷晶振) |
如果需要選擇外部時鐘,在RCC界面配置HSE和LSE即可
HSE高速時鐘設置為外部無源晶振,LSE為低速時鐘,可以不設置,因為我們板卡沒有接低速晶振,當用到RTC,并且對精度有要求才加。
同時配置芯片運行時鐘頻率,這里我們設置HCLK為72,按回車后,會自動生成其它配置。
- 外部時鐘HSE 8MHz
- PLL倍頻9倍(8*9=72)
- 系統時鐘來源選擇為PLLCLK
設置燒錄調試方式
此步驟非常重要,不開啟會導致燒錄后,Jlink找不到SWD設備,請記得每個工程都需要開啟
STM32作為控制芯片時,程序燒寫非常關鍵的一步,而燒寫接口的穩定性及必要時的簡潔性就顯得尤為重要。目前常用的兩種接口是JTAG和SWD,而我們板卡使用SWD接口作為調試接口,SWD(Serial Wire Debug 串行調試),接口僅需4個,分別是VCC、GND、SWIO(雙向數據接口)、SWCLK(時鐘)。
優點
- 高速模式更可靠;
- 接線少,占用的GPIO資源少;
- SWD搭配ST-Link仿真器使用,相比于JTAG的J-Link,更便宜
打開System Core選項卡,單擊SYS選項。
SWD模式就選擇serial Wire Debug。JTAG模式就選擇JTAG,4pin和5pin的區別多了一個復位引腳 |
此步驟非常重要,不開啟會導致燒錄后,Jlink找不到SWD設備,請記得每個工程都需要開啟
設置工程
點擊頂部工程管理,設置工程名稱,設置工程保存路徑,選擇開發環境,如果使用keil開發,則選擇MDK-ARM。
注意:不管工程名稱還是路徑都不要有中文,否則后面編譯文件會出錯。
Project Name:工程名稱 |
源碼輸出設置
點擊左側Code Generator.選中僅復制需要的庫,否則生成的工程會很大.
選擇將外設配置為單獨的.c和.h文件.
copy all used libraries into the project folder: |
點擊右上角的GENERATE CODE,就可以生成工程
最后點擊Open Project,就可以用你已經安裝Keil MDK打開工程。
點擊Build,如果最終編譯完成沒有報錯誤,就完成STM32CubeMX的搭建啦。
本節課工程參考飛書文檔