GPIO是stm32的基礎,單獨時間點上,每個GPIO都可以作爲輸出,或輸入,或中斷,或特殊功能使用(特殊功能是指系統默認的功能使用引腳),每個時間點上,只能使用一種方式。
首先,我們打開CubeMX軟件,完成工程的配置,以及MCU特殊功能的選擇。
File=>New Project 創建一個新的工程
在左上角輸入 stm32f103r6
在右側就會出現這種型號的MCU,此例子中,我們選擇,stm32f103r6tx,雙擊它就進入設置界面了
由於正常情況下,MCU都要外接一個外部晶振,而不用內部晶振,因此我們要先配置RCC,我們點擊左側菜單
System Core => RCC
在 RCC Mode and Config 欄內,將 High Speed Clock (HSC)外部晶振使能
然後配置系統時鐘 點擊 Clock Config 選擇欄
配置如下
然後我們設置GPIO引腳 點擊 Pinout & Config 選擇欄
在窗口右側,可以看到 MCU 引腳指示圖,如果感覺圖太小,可以拉伸,旋轉,在這裏我們選擇 PC0和PC1作爲我們的兩個實驗引腳,PC0輸出,PC1輸入,PC0 使用 GPIO_Output,PC1使用 GPIO_Input
然後我們精確設置GPIO的屬性 選擇 System Core => GPIO 在此,我們就看到了我們剛剛粗略設置的GPIO
我們在中間表格點擊PC0
GPIO output level 選項爲 GPIO 默認輸出電平,在這裏我們選擇 Low低電平
GPIO mode 選項爲 GPIO 輸出模式,選擇爲 Output Push Pull 推輓輸出
Maximum output speed 選項爲 GPIO 輸出時鐘 高或低,選擇爲 Low 低
User Label 選項爲 用戶爲GPIO 設置的名稱 我們 設置爲 LED,同理我們設置 PC1
由於GPIO功能設置不同,出現的界面也不完全相同,
GPIO mode 爲 input mode 即輸入 模式
GPIO Pull-up Pull-down 選項爲 上拉下拉或懸空,我們選擇 Pull-up 即上拉模式
標籤爲 BUTTON,至此GPIO配置完畢,之後我們要配置輸出工程信息 點擊 Project Manager 選擇欄
下圖是我的設置,設置完成後點擊 右上角 GENERATE CODE 按鈕,工程就創建完畢了