STM32CubeMX新建工程+基本IO配置過(guò)程
Ⅰ、寫(xiě)在前面
學(xué)習(xí)本文之前可以查看我前面的文章:
STM32CubeMX介紹、下載與安裝
STM32CubeMX使用方法及功能介紹
本文接著上一篇文章結(jié)合基本IO配置實(shí)例,講述關(guān)于STM32CubeMX新建工程的過(guò)程。最終通過(guò)STM32CubeMX工具配置完成一個(gè)驅(qū)動(dòng)IO(點(diǎn)亮LED)的軟件工程,也就是通過(guò)STM32CubeMX配置完成之后,打開(kāi)工程直接下載就能點(diǎn)亮LED的工程。
本文使用Keil(MDK-ARM) V5軟件為編譯環(huán)境,如果你沒(méi)有安裝最新版本的軟件,請(qǐng)安裝最新版本的軟件,具體過(guò)程可以參考我的一篇文章:
MDK-ARM下載與安裝
關(guān)于本文的更多詳情請(qǐng)往下看。
Ⅱ、STM32CubeMX新建工程描述
在上一篇文章中簡(jiǎn)單講述了新建一個(gè)工程的步驟,這里結(jié)合實(shí)例來(lái)講述新建工程的每一個(gè)步驟的細(xì)節(jié)。
1.打開(kāi)STM32CubeMX軟件,點(diǎn)擊“新建工程”
2.選擇MCU或選擇(ST官方)開(kāi)發(fā)板
A.如果是我們網(wǎng)上購(gòu)買(mǎi)的,或者自己畫(huà)的開(kāi)發(fā)板,點(diǎn)擊“MCU Selector”進(jìn)入MCU選擇器。選擇器在網(wǎng)頁(yè)上常見(jiàn),根據(jù)自己需求進(jìn)行選擇(我們以STM32F103E為例)。
1.根據(jù)“系列”選擇;如:F0、F1、F2......F7、L0、L1、L4等;
2.根據(jù)“產(chǎn)品線”選擇;
3.根據(jù)“封裝”選擇;
4.根據(jù)“其他特征”選擇;如:FLASH大小、RAM大小、IO數(shù)量等。
層層篩選下來(lái),最后就可以看到自己想要的芯片型號(hào),雙擊“選中”芯片,如下圖:
B.如果你的開(kāi)發(fā)板是購(gòu)買(mǎi)ST官方的開(kāi)發(fā)板(或評(píng)估板),點(diǎn)擊“Board Selector”進(jìn)入開(kāi)發(fā)板選擇器。(我們以STM3210E-EVAL為例)。
1.根據(jù)“廠商”選擇;目前只有ST廠商,估計(jì)以后會(huì)拓展其他廠商;
2.根據(jù)“板子類(lèi)型”選擇;
3.根據(jù)“芯片系列”選擇;
層層篩選下來(lái),最后就可以看到自己想要的芯片型號(hào),雙擊“選中”芯片,如下圖:
上面兩種選中的方法類(lèi)似,以及后面的的配置也很類(lèi)似,我們下面以第一種選中MCU(STM32F103ZE)為例來(lái)講述。
3.工程配置
在上一步“選中”芯片之后,就進(jìn)入了芯片工程配置界面。
A.Project ->Settings彈出設(shè)置窗口;
B.在彈出的設(shè)置窗口有3個(gè)選項(xiàng):
Project工程設(shè)置:這個(gè)選項(xiàng)是主要設(shè)置的選項(xiàng),配置信息描述在下面;
Code Generator代碼生成配置:這個(gè)選項(xiàng)是關(guān)于代碼生成的配置。如:拷貝HAL庫(kù)的配置、生成.c和.h的配置(一般不用修改,默認(rèn)配置)。
AdvancedSettings高級(jí)設(shè)置:這個(gè)選項(xiàng)在配置芯片(引腳功能)之后才能設(shè)置。
C.Project工程設(shè)置,這個(gè)選項(xiàng)是配置工程重要的一個(gè)選項(xiàng),其中配置的信息也比較重要,且容易理解。
4.Pinout配置
這接下的配置才是與我們最終運(yùn)行代碼密切相關(guān)的,我們這里以簡(jiǎn)單的配置IO(PF11引腳)驅(qū)動(dòng)LED為例來(lái)講述。
A.放大芯片圖標(biāo),找到PF11(可以通過(guò)Find查找):
B.選中PF11-> 左鍵 -> 彈出列表 -> 選中“GPIO_Output”
C.配置“晶振”引腳(RCC配置)
如果使用“外部晶振”就還需要繼續(xù)配置(我們配置HSE為例),包含三個(gè)配置:
HSE外部高速時(shí)鐘、LSE外部低速時(shí)鐘、MCO時(shí)鐘輸出。
5.Clock配置
這里的配置是比較人性化的配置,結(jié)合時(shí)鐘樹(shù),一看就明白(也可以根據(jù)參考手冊(cè)時(shí)鐘樹(shù)配置),配置方法一樣。
6.“綜合”配置
由于我們只配置了PF11引腳,其他功能(如DMA、USB等)沒(méi)有配置,如果前面配置的有,這里配置的信息就比較多,所以叫“綜合配置”。
點(diǎn)擊GPIO,彈出配置對(duì)話框,按步驟依次填寫(xiě)完信息,點(diǎn)擊“OK”就好了:
7.低功耗配置
一般在學(xué)習(xí)階段,低功耗配置比較少,在實(shí)際項(xiàng)目中配置低功耗需要考慮的東西比較多(包括硬件)。
8.生成代碼
在完成上面所有配置之后,最后的工作就是點(diǎn)擊“生成代碼”按鈕:
如果前面配置的生成軟件工程,就會(huì)拷貝HAL庫(kù)文件在你的工程:
最后提示打開(kāi)軟件工程(前提是你已經(jīng)安裝了IDE:MDK-ARM)
9.編譯下載
打開(kāi)工程,編譯沒(méi)有錯(cuò)誤,沒(méi)有警告,下載,程序運(yùn)行;
至此,整個(gè)過(guò)程就完成了。如果你的開(kāi)發(fā)板LED燈引腳(PF11)和上面配置一樣,則下載到開(kāi)發(fā)板,從新復(fù)位則可見(jiàn)LED燈亮(低電平點(diǎn)亮LED)。
STM32CubeMX基本IO配置過(guò)程(原始版),提供給大家下載地址(360云盤(pán)):
https://yunpan.cn/cMm9rBQZNX3H4 訪問(wèn)密碼 6735
10.添加代碼
上面的工程是簡(jiǎn)單的工程(配置初始化代碼),可以在提示處(如 USER CODE BEGIN)添加自己代碼。
我在“USER CODE BEGIN 0”下添加了一個(gè)“測(cè)試延時(shí)”函數(shù); 在“USER CODE BEGIN WHILE”處添加了一個(gè)LED亮滅語(yǔ)句。
添加以上兩處代碼就能實(shí)現(xiàn)LED間隔(延時(shí))一段時(shí)間亮滅變化。
STM32CubeMX基本IO配置過(guò)程(修改版),提供給大家下載地址(360云盤(pán)):
https://yunpan.cn/cMmUMDSY8KSgi 訪問(wèn)密碼 8304
Ⅲ、說(shuō)明
以上就是一個(gè)“基本IO配置過(guò)程”的詳細(xì)步驟,后續(xù)會(huì)定期更新使用STM32CubeMX新建各種外設(shè)資源工程的文章,敬請(qǐng)等待。
以上總結(jié)僅供參考,若有不對(duì)之處,敬請(qǐng)諒解。