分享本文,介紹STM32的GPIO使用。
設置GPIO引腳的輸出功能,將對應引腳拉高或拉低輸出
初步認識STM32最新的HAL庫的使用
用代碼實現控制GPIO引腳輸出產生周期出1s 占空比為50%的PWM波
示例詳解
做實驗用到的STM32F103C8T6最小系統板,如下圖所示。使用STM32cubemx 工具自動產生的配置工程,使用KEIL5編譯代碼。
最小系統板原理圖:
新建并配置工程
在新彈出的界面中的搜索框中輸入 “stm32f103c8” ,并雙擊右側欄中列出的STM32F103C8
彈出如下圖所示界面,至此工程創建完成。
接下來配置工程。
配置系統伏仿真調試接口, 在System Core 目錄下單擊SYS選項,將其中的Debug選項選為Serial Wire, 此時PA13 PA14引腳會被占用。
配置STM32 CUBEMX 工程。
配置系統時鐘源,在System Core 目錄下單擊RCC選項,將其中的High Speed Clock( HSE )選項選為Crystal/ceramic resona…, 此時PD0 PD1引腳會被占用,配置圖如下。
配置GPIO PA0引卻為輸出,在右側圖中單擊PA0引腳 ,在出現的選項選框中選擇GPIO_Output 選項,選完后在在System Core 目錄下單擊GPIO選項,在GPIO子項中單擊列表中的PA0,可看查看到PA0的詳細設置參數,也可以根據需要進行修改,在這里保持默認即可。
配置系統時鐘樹,將工程界面切換到Clock Configureation 界面,完成如下配置。
配置代碼生成,工程界面切換到Project Manager 界面,在界面左側單擊Project項,將其設置成如下圖所示( 設置工程路徑在E:Stm32cubePrj目錄,工程名為stm32_gpio, 開發環境為 MDK-ARM v5 )。
在界面左側單擊Code Generator項,將其設置成如下圖所示。
只拷貝所需文件到工程,為每個接口生成獨立的初始化頭文件和源文件,將所有未使用的引腳設為模擬輸入。
打開工程
生成代碼,單擊工程界面中”GENERATE TOOL” 開始生成代碼,代碼生成后彈出是否打開工程對話框,單擊“Open Project”打開創建的工程。
在代碼工程(MDK/keil)中的 main.c 中 man函數中如下紅框中代碼:
編譯工程
燒錄代碼,在代碼工程中單擊“Options for Target” 圖標,在彈出的窗口中選中“Debug”頁,選擇相應的燒錄工具,本示例所用是jlink工具。
單擊右側“Setting”按鈕,將Port 設為“SW”, 最大速度建議不要超過5M。
如果仿真調式工具接線過長,可以將最大速度設為100K,這樣可以保證燒錄成功。
選“flash Download”頁,勾選“Reset and Run”,并確保其它內容如下圖所示。
設置完上述設置后,便可進行下載操作,將調試仿真工具中的與最小系統板連接好,在工程中點Download 按鈕,或按F8快捷鍵進入下載,下載完成后會出現如下圖所示提示信息。
操作GPIO引腳實現周期1S占空為50%的PWM實驗完成。
用示波器邏輯分析工具在PA0引腳可以看到如下圖所示波形輸出!!
-
STM32
+關注
關注
2270文章
10900瀏覽量
356012 -
GPIO
+關注
關注
16文章
1204瀏覽量
52099
原文標題:STM32CubeMX教程-GPIO
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論