




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單元二LED流水燈控制主講人:湯宇嬌上海城建職業學院本單元內容GPIO功能概述GPIO寄存器功能說明基于寄存器方式控制GPIO教學目標了解GPIO的功能和電路結構了解GPIO模塊的寄存器含義掌握基于寄存器的程序開發方式2.1GPIO功能概述用途GPIOGPIO是通用輸入/輸出(GeneralPurposeI/O)的簡稱,主要用于工業現場需要用的數字量輸入/輸出的場合,例如輸出功能:繼電器、LED、蜂鳴器等的控制輸入功能:傳感器狀態、高低電平等信息的讀取復用功能:片內外設的對外接口時序模擬:模擬SPI、I2C和UART等常用接口的時序基本特性STM32微控制器概述STM32的GPIO特性兩個概念GPIOPA0對應STM32F103RE芯片的14腳,屬于端口GPIOA,輸出電平由端口GPIOA的輸出數據寄存器GPIOA_ODR的第0位決定GPIO模塊由端口GPIOA、GPIOB、GPIOC等多個獨立的子模塊構成例如:端口GPIOA包括PA0~PA15這16個引腳,通過7個硬件寄存器控制引腳工作目標芯片GPIOSTM32F103RE的端口及引腳端口引腳數量備注GPIOAPA0~PA1516--GPIOBPB0~PB1516GPIOCPC0~PC1213GPIODPD21總結:一個端口默認包含16個引腳,但是不同型號的STM32微控制器所包含的端口數量及各端口包含的引腳數量各不相同,具體信息可以查詢芯片的數據手冊引腳占用情況GPIOSTM32F103RE的端口及引腳PD0和PD1接入HSEPC14和PC15接入LSEPA13和PA14作為SWD接口1.2STM32GPIO模塊的電路結構電路結構GPIO123端口寄存器組輸入輸出驅動器引腳電路工作模式分類GPIO工作模式輸入模式輸出模式模擬模式復用模式浮空輸入上拉輸入下拉輸入推挽輸出開漏輸出根據上/下拉電阻的使能情況根據兩個MOS管的導通情況用法總結GPIOGPIO工作模式的用法總結輸入模式浮空輸入:按鍵識別上拉輸入:IO內部上拉電阻輸入下拉輸入:IO內部下拉電阻輸入模擬模式作為片內模擬外設的對外引腳單純作為低功耗使用用法總結GPIOGPIO工作模式的用法總結輸出模式推挽輸出:可以輸出高/低電平,主要用于連接數字器件,如指示燈和繼電器等模塊;開漏輸出:只能輸出低電平,適用于電流型驅動,也可以作為電平轉換;復用模式復用推挽:片內外設功能(URAT的TX,RX,SPI的MOSI,MISO,SCK,SS;
復用開漏:片內外設功能(I2C的SCL,SDA)2.3GPIO模塊的寄存器介紹端口寄存器GPIO端口寄存器配置低寄存器GPIOx_CRL配置高寄存器GPIOx_CRH輸入數據寄存器GPIOx_IDR輸出數據寄存器GPIOx_ODR設置/復位寄存器GPIOx_BSRR復位寄存器GPIOx_BRR配置鎖定寄存器GPIOx_LCKR配置寄存器GPIO端口配置低寄存器GPIOx_CRL配置寄存器GPIO端口配置高寄存器GPIOx_CRH配置寄存器GPIO輸入數據寄存器GPIOx_IDR配置寄存器GPIO輸出數據寄存器GPIOx_ODR配置寄存器GPIO置位/復位寄存器GPIOx_BSRR配置寄存器GPIO復位寄存器GPIOx_BRR配置寄存器GPIO端口配置鎖定寄存器GPIOx_LCKR使用舉例GPIO要求PA0輸出低電平,PA15輸出高電平2.4
利用指針訪問單個寄存器端口地址范圍GPIOSTM32F103RE芯片的GPIO模塊各端口寄存器的地址范圍端口號寄存器組地址范圍備注GPIOA0x40010800-0x40010BFF每組端口占用了0x000~0x3FF共1K字節的存儲空間,而實際每組端口只包括7個32位的寄存器,只需要28個字節的存儲空間,多余的存儲空間預留給芯片升級使用。
GPIOB0x40010C00-0x40010FFFGPIOC0x40011000-0x400113FFGPIOD0x40011400-0x400117FF端口地址范圍GPIO端口GPIOA對應寄存器的起始地址及偏移量寄存器名稱寄存器起始地址偏移量GPIOA_CRL0x400108000x00GPIOA_CRH0x400108040x04GPIOA_IDR0x400108080x08GPIOA_ODR0x4001080c0x0CGPIOA_BSRR0x400108100x10GPIOA_BRR0x400108140x14GPIOA_LCKR0x400108180x180x40010800作為模式寄存器的起始地址,也是端口GPIOA寄存器組的起始地址所有寄存器為32位,占用四個字節的存儲空間12地址轉換方法GPIO利用指針完成地址的轉換地址轉換方法GPIO利用指針完成地址的轉換unsignedint*p表示定義一個指向無符號整型的指針p=0x40010800UL表示為指針變量p賦值,指向地址單元0x40010800UL*p即指針的解引用,表示訪問從地址單元0x40010800UL開始的4個字節地址單元的內容地址轉換過程GPIO寄存器定義:#defineGPIOA_CRL*(volatileunsignedint*)(0x40010800UL)0x40010800UL將有符號常數轉換為一個無符號32位常數volatileunsignedint*(0x40010800UL)表示將常數強制轉換為指向無符號整型的指針,即寄存器的地址*(volatileunsignedint*)(0x40010800UL)表示指針的“解引用”,訪問(讀/寫)指針所指向地址的數據利用define取一個別名,用GPIOA_CRL代表該存儲空間通過GPIOA_CRL來訪問對應的存儲空間1234避免編譯器優化指針的基類型代表從地址0x40010800開始的4字節存儲空間2.5
利用指結構體指針訪問寄存器組寄存器組GPIO多個寄存器的定義地址連續
利用結構體實現寄存器名稱寄存器起始地址偏移量GPIOA_CRL0x400108000x00GPIOA_CRH0x400108040x04GPIOA_IDR0x400108080x08GPIOA_ODR0x4001080c0x0CGPIOA_BSRR0x400108100x10GPIOA_BRR0x400108140x14GPIOA_LCKR0x400108180x18unsignedint數據類型占用4個字節地址轉換過程GPIO#define
GPIOA
((GPIO_TypeDef*)0x40010800UL)0x40010800UL將有符號常數轉換為一個無符號32位常數GPIO_TypeDef*(0x40010800UL)表示將常數強制轉換為指向GPIO_TypeDef類型的結構體指針利用define取別名,用GPIOA作為結構體指針的別名123結構體指針加成員變量的形式訪問硬件寄存器GPIOA->CRL;GPIO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土地利用與農業可持續發展的關系試題及答案
- 植物生長調節的園藝實踐試題及答案
- 花藝師考試化繁為簡的試題
- 綜合解析2024年記者證考試試題及答案
- 福建事業單位考試短期備考指南與試題及答案
- 2024年福建事業單位考試解析與復習試題及答案
- 考生必知園藝師考試事項試題及答案
- 水環泵考試題及答案
- 生產安全急救知識培訓
- 考察花藝師的適應能力與敏銳度的試題及答案
- 《預防未成年人犯罪》課件(圖文)
- DB31T 1330-2021 專職消防隊、微型消防站建設要求
- 裝配式建筑一體化集成設計實踐與發展(并茂)課件
- 日用百貨、食品定點供貨服務方案
- 高等數學全書教案完整版電子教案整本書教案最全單元教學設計1-10章全
- DB14∕T 2447-2022 建設項目環境影響后評價技術導則 生態影響類
- Q∕GDW 12152-2021 輸變電工程建設施工安全風險管理規程
- 冶金等工貿企業安全生產標準化達標信息管理系統[冶金等工貿企業安全生產標準化達標信息管理系統](-33)
- 《閱讀與寫作》課程教學大綱
- 純滯后控制技術
- 課件使用詳細說明書寫法
評論
0/150
提交評論