基于HAL庫的STM32F1開發(fā)實踐教程-課件 02.GPIO輸入_第1頁
基于HAL庫的STM32F1開發(fā)實踐教程-課件 02.GPIO輸入_第2頁
基于HAL庫的STM32F1開發(fā)實踐教程-課件 02.GPIO輸入_第3頁
基于HAL庫的STM32F1開發(fā)實踐教程-課件 02.GPIO輸入_第4頁
基于HAL庫的STM32F1開發(fā)實踐教程-課件 02.GPIO輸入_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

山東師范大學(xué)信息科學(xué)與工程學(xué)院張寶譯GPIO輸入GPIO是什么GPIO(generalpurposeintputoutput)是通用輸入輸出端口的簡稱,可以通過軟件來控制其輸入和輸出。STM32芯片的GPIO引腳與外部設(shè)備連接起來,從而實現(xiàn)與外部通訊、控制以及數(shù)據(jù)采集的功能。山東師范大學(xué)信息科學(xué)與工程學(xué)院GPIO基本結(jié)構(gòu)山東師范大學(xué)信息科學(xué)與工程學(xué)院GPIO工作模式1、輸入浮空2、輸入上拉3、輸入下拉4、模擬輸入5、開漏輸出6、推挽輸出7、推挽式復(fù)用功能8、開漏復(fù)用功能山東師范大學(xué)信息科學(xué)與工程學(xué)院GPIO端口寄存器STM32的每個IO端口都有7個寄存器來控制。分別是:配置模式的2個32位的端口配置寄存器

CRL和CRH;

2個32位的數(shù)據(jù)寄存器IDR和ODR;1個32位的置位/復(fù)位寄存器BSRR;1個16位的復(fù)位寄存器BRR;

1個32位的鎖存寄存器LCKR;我們常用的IO端口寄存器只有4個:CRL、CRH、IDR、ODR。山東師范大學(xué)信息科學(xué)與工程學(xué)院舉例:GPIO端口配置寄存器CRL山東師范大學(xué)信息科學(xué)與工程學(xué)院該寄存器的復(fù)位值為0X44444444,從左側(cè)圖可以看到,復(fù)位值其實就是配置端口為浮空輸入模式。十六進制4轉(zhuǎn)換為二進制為0100硬件分析山東師范大學(xué)信息科學(xué)與工程學(xué)院HAL庫開發(fā)GPIO山東師范大學(xué)信息科學(xué)與工程學(xué)院ST公司提供的HAL庫中,與GPIO配置及使用有關(guān)的函數(shù)在“stm32f1xx_hal_gpio.c”和“stm32f1xx_hal_gpio.h”中。其中包括初始化和反初始化函數(shù):HAL_GPIO_Init();HAL_GPIO_DeInit();IO端口操作函數(shù):HAL_GPIO_ReadPin();HAL_GPIO_WritePin();HAL_GPIO_TogglePin();HAL_GPIO_LockPin();HAL_GPIO_EXTI_IRQHandler();HAL_GPIO_EXTI_Callback();函數(shù)的具體定義與功能,請參考函數(shù)定義處源碼說明。硬件分析KEY1對應(yīng)的芯片引腳是PC13,KEY2對應(yīng)的芯片引腳是PD13。

按鍵沒被按下時,引腳處于高電平狀態(tài)。按鍵被按下時,引腳處于低電平狀態(tài)。利用函數(shù)HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)來獲取PC13引腳的電平狀態(tài),進而判斷KEY1按鍵是否被按下。山東師范大學(xué)信息科學(xué)與工程學(xué)院按鍵抖動山東師范大學(xué)信息科學(xué)與工程學(xué)院STM32CubeMx使用1.雙擊打開軟件,軟件圖標為:2.打開后界面如右圖所示:山東師范大學(xué)信息科學(xué)與工程學(xué)院STM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院3.點擊FileNewProject,進入MCU選擇界面STM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院4.在MCU/MPUSelector界面的左上角搜索框內(nèi),輸入MCU型號,本例使用的是STM32F103VET6型號,所以輸入STM32F103VE,右下角的MCU列表中就會篩選出一些型號,左鍵選擇正確的型號。選取好型號后,右上角的StartProject圖標就會變成藍色,點擊進入下一步。STM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院5.在新打開的界面中,在Pinout&Configuration標簽下,左鍵點擊Categories->SystemCore->RCC,點擊后,右側(cè)出現(xiàn)RCCModeandConfiguration框,在Mode里的HighSpeedClock(HSE)右側(cè)的下拉框中,選擇“Crystal****”STM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院6.在界面右側(cè)的芯片圖形化界面中,找到需要設(shè)置的管腳(如PE0,PE1),鼠標左鍵點擊該管腳,在彈出的界面中,設(shè)置好參數(shù)(鼠標左鍵單擊需要設(shè)置的值)。本例中,將PE0和PE1均設(shè)置為普通IO口輸出模式。設(shè)置參數(shù)的管腳在圖形中會變成綠色。STM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院7.在GPIOModeandConfiguration欄中,可以看見剛剛完成配置的PE0和PE1。選中一行,即可進行更改。

本例中,鼠標左鍵選中PE0行,下方出現(xiàn)參數(shù)配置內(nèi)容,如右圖所示。根據(jù)需要修改參數(shù)即可。其中最后一行“UserLabel”為“用戶標簽”,選填。如果填寫,會有相應(yīng)的宏定義改變。本例中,將PE0的標簽設(shè)置為LED8,與硬件電路對應(yīng)。STM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院8.在界面右側(cè)的芯片圖形化界面中,找到需要設(shè)置的管腳(如PC13,PD13),鼠標左鍵點擊該管腳,在彈出的界面中,設(shè)置好參數(shù)(鼠標左鍵單擊需要設(shè)置的值)。本例中,將PC13和PD13均設(shè)置為普通IO口輸入模式。STM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院9.在GPIOModeandConfiguration欄中,可以看見剛剛完成配置的PE0.PE1.PC13,PD13。選中一行,即可進行更改。

STM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院10.ClockConfigurationSTM32CubeMx使用山東師范大學(xué)信息科學(xué)與工程學(xué)院11.ProjectManager根據(jù)需要,填寫工程名字,工程保存路徑(不要出現(xiàn)中文及特殊符號,盡量全英文)“Toolchain/IDE”選擇MDK-ARMV5因為本課程的實驗資源安裝的固件庫是1.8.0版本,所以選擇1.8.0,并取消“Uselatestavailableversion”前面的勾選。取消”UseDefaultFirewareLocation

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論