




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單元二LED流水燈控制主講人:湯宇嬌上海城建職業(yè)學(xué)院本單元內(nèi)容GPIO功能概述GPIO寄存器功能說(shuō)明基于寄存器方式控制GPIO教學(xué)目標(biāo)了解GPIO的功能和電路結(jié)構(gòu)了解GPIO模塊的寄存器含義掌握基于寄存器的程序開(kāi)發(fā)方式2.1GPIO功能概述用途GPIOGPIO是通用輸入/輸出(GeneralPurposeI/O)的簡(jiǎn)稱(chēng),主要用于工業(yè)現(xiàn)場(chǎng)需要用的數(shù)字量輸入/輸出的場(chǎng)合,例如輸出功能:繼電器、LED、蜂鳴器等的控制輸入功能:傳感器狀態(tài)、高低電平等信息的讀取復(fù)用功能:片內(nèi)外設(shè)的對(duì)外接口時(shí)序模擬:模擬SPI、I2C和UART等常用接口的時(shí)序基本特性STM32微控制器概述STM32的GPIO特性?xún)蓚€(gè)概念GPIOPA0對(duì)應(yīng)STM32F103RE芯片的14腳,屬于端口GPIOA,輸出電平由端口GPIOA的輸出數(shù)據(jù)寄存器GPIOA_ODR的第0位決定GPIO模塊由端口GPIOA、GPIOB、GPIOC等多個(gè)獨(dú)立的子模塊構(gòu)成例如:端口GPIOA包括PA0~PA15這16個(gè)引腳,通過(guò)7個(gè)硬件寄存器控制引腳工作目標(biāo)芯片GPIOSTM32F103RE的端口及引腳端口引腳數(shù)量備注GPIOAPA0~PA1516--GPIOBPB0~PB1516GPIOCPC0~PC1213GPIODPD21總結(jié):一個(gè)端口默認(rèn)包含16個(gè)引腳,但是不同型號(hào)的STM32微控制器所包含的端口數(shù)量及各端口包含的引腳數(shù)量各不相同,具體信息可以查詢(xún)芯片的數(shù)據(jù)手冊(cè)引腳占用情況GPIOSTM32F103RE的端口及引腳PD0和PD1接入HSEPC14和PC15接入LSEPA13和PA14作為SWD接口1.2STM32GPIO模塊的電路結(jié)構(gòu)電路結(jié)構(gòu)GPIO123端口寄存器組輸入輸出驅(qū)動(dòng)器引腳電路工作模式分類(lèi)GPIO工作模式輸入模式輸出模式模擬模式復(fù)用模式浮空輸入上拉輸入下拉輸入推挽輸出開(kāi)漏輸出根據(jù)上/下拉電阻的使能情況根據(jù)兩個(gè)MOS管的導(dǎo)通情況用法總結(jié)GPIOGPIO工作模式的用法總結(jié)輸入模式浮空輸入:按鍵識(shí)別上拉輸入:IO內(nèi)部上拉電阻輸入下拉輸入:IO內(nèi)部下拉電阻輸入模擬模式作為片內(nèi)模擬外設(shè)的對(duì)外引腳單純作為低功耗使用用法總結(jié)GPIOGPIO工作模式的用法總結(jié)輸出模式推挽輸出:可以輸出高/低電平,主要用于連接數(shù)字器件,如指示燈和繼電器等模塊;開(kāi)漏輸出:只能輸出低電平,適用于電流型驅(qū)動(dòng),也可以作為電平轉(zhuǎn)換;復(fù)用模式復(fù)用推挽:片內(nèi)外設(shè)功能(URAT的TX,RX,SPI的MOSI,MISO,SCK,SS;
復(fù)用開(kāi)漏:片內(nèi)外設(shè)功能(I2C的SCL,SDA)2.3GPIO模塊的寄存器介紹端口寄存器GPIO端口寄存器配置低寄存器GPIOx_CRL配置高寄存器GPIOx_CRH輸入數(shù)據(jù)寄存器GPIOx_IDR輸出數(shù)據(jù)寄存器GPIOx_ODR設(shè)置/復(fù)位寄存器GPIOx_BSRR復(fù)位寄存器GPIOx_BRR配置鎖定寄存器GPIOx_LCKR配置寄存器GPIO端口配置低寄存器GPIOx_CRL配置寄存器GPIO端口配置高寄存器GPIOx_CRH配置寄存器GPIO輸入數(shù)據(jù)寄存器GPIOx_IDR配置寄存器GPIO輸出數(shù)據(jù)寄存器GPIOx_ODR配置寄存器GPIO置位/復(fù)位寄存器GPIOx_BSRR配置寄存器GPIO復(fù)位寄存器GPIOx_BRR配置寄存器GPIO端口配置鎖定寄存器GPIOx_LCKR使用舉例GPIO要求PA0輸出低電平,PA15輸出高電平2.4
利用指針訪(fǎng)問(wèn)單個(gè)寄存器端口地址范圍GPIOSTM32F103RE芯片的GPIO模塊各端口寄存器的地址范圍端口號(hào)寄存器組地址范圍備注GPIOA0x40010800-0x40010BFF每組端口占用了0x000~0x3FF共1K字節(jié)的存儲(chǔ)空間,而實(shí)際每組端口只包括7個(gè)32位的寄存器,只需要28個(gè)字節(jié)的存儲(chǔ)空間,多余的存儲(chǔ)空間預(yù)留給芯片升級(jí)使用。
GPIOB0x40010C00-0x40010FFFGPIOC0x40011000-0x400113FFGPIOD0x40011400-0x400117FF端口地址范圍GPIO端口GPIOA對(duì)應(yīng)寄存器的起始地址及偏移量寄存器名稱(chēng)寄存器起始地址偏移量GPIOA_CRL0x400108000x00GPIOA_CRH0x400108040x04GPIOA_IDR0x400108080x08GPIOA_ODR0x4001080c0x0CGPIOA_BSRR0x400108100x10GPIOA_BRR0x400108140x14GPIOA_LCKR0x400108180x180x40010800作為模式寄存器的起始地址,也是端口GPIOA寄存器組的起始地址所有寄存器為32位,占用四個(gè)字節(jié)的存儲(chǔ)空間12地址轉(zhuǎn)換方法GPIO利用指針完成地址的轉(zhuǎn)換地址轉(zhuǎn)換方法GPIO利用指針完成地址的轉(zhuǎn)換unsignedint*p表示定義一個(gè)指向無(wú)符號(hào)整型的指針p=0x40010800UL表示為指針變量p賦值,指向地址單元0x40010800UL*p即指針的解引用,表示訪(fǎng)問(wèn)從地址單元0x40010800UL開(kāi)始的4個(gè)字節(jié)地址單元的內(nèi)容地址轉(zhuǎn)換過(guò)程GPIO寄存器定義:#defineGPIOA_CRL*(volatileunsignedint*)(0x40010800UL)0x40010800UL將有符號(hào)常數(shù)轉(zhuǎn)換為一個(gè)無(wú)符號(hào)32位常數(shù)volatileunsignedint*(0x40010800UL)表示將常數(shù)強(qiáng)制轉(zhuǎn)換為指向無(wú)符號(hào)整型的指針,即寄存器的地址*(volatileunsignedint*)(0x40010800UL)表示指針的“解引用”,訪(fǎng)問(wèn)(讀/寫(xiě))指針?biāo)赶虻刂返臄?shù)據(jù)利用define取一個(gè)別名,用GPIOA_CRL代表該存儲(chǔ)空間通過(guò)GPIOA_CRL來(lái)訪(fǎng)問(wèn)對(duì)應(yīng)的存儲(chǔ)空間1234避免編譯器優(yōu)化指針的基類(lèi)型代表從地址0x40010800開(kāi)始的4字節(jié)存儲(chǔ)空間2.5
利用指結(jié)構(gòu)體指針訪(fǎng)問(wèn)寄存器組寄存器組GPIO多個(gè)寄存器的定義地址連續(xù)
利用結(jié)構(gòu)體實(shí)現(xiàn)寄存器名稱(chēng)寄存器起始地址偏移量GPIOA_CRL0x400108000x00GPIOA_CRH0x400108040x04GPIOA_IDR0x400108080x08GPIOA_ODR0x4001080c0x0CGPIOA_BSRR0x400108100x10GPIOA_BRR0x400108140x14GPIOA_LCKR0x400108180x18unsignedint數(shù)據(jù)類(lèi)型占用4個(gè)字節(jié)地址轉(zhuǎn)換過(guò)程GPIO#define
GPIOA
((GPIO_TypeDef*)0x40010800UL)0x40010800UL將有符號(hào)常數(shù)轉(zhuǎn)換為一個(gè)無(wú)符號(hào)32位常數(shù)GPIO_TypeDef*(0x40010800UL)表示將常數(shù)強(qiáng)制轉(zhuǎn)換為指向GPIO_TypeDef類(lèi)型的結(jié)構(gòu)體指針利用define取別名,用GPIOA作為結(jié)構(gòu)體指針的別名123結(jié)構(gòu)體指針加成員變量的形式訪(fǎng)問(wèn)硬件寄存器GPIOA->CRL;GPIO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康評(píng)估與干預(yù)措施的考察試題及答案
- 婦幼保健員考試常見(jiàn)考題試題及答案
- 備戰(zhàn)2025健康管理師的常識(shí)試題及答案
- 2025年健康管理師考點(diǎn)突破試題及答案
- 融合文化的茶藝師考試試題及答案
- 2025年度網(wǎng)絡(luò)安全企業(yè)員工借調(diào)與安全防護(hù)服務(wù)合同
- 2025年度跨區(qū)域公司合并協(xié)議書(shū)
- 二零二五年度醫(yī)療機(jī)構(gòu)衛(wèi)生監(jiān)督與評(píng)估合同
- 二零二五年度互聯(lián)網(wǎng)金融服務(wù)授權(quán)委托書(shū)合同
- 2025年度汽車(chē)制造企業(yè)生產(chǎn)線(xiàn)工人工資合同
- 3.28百萬(wàn)農(nóng)奴解放紀(jì)念日演講稿
- 全科醫(yī)學(xué)科疾病診療指南全集診療規(guī)范
- 安全教育教程大學(xué)生安全教育PPT完整全套教學(xué)課件
- 2023年?yáng)|方航空技術(shù)應(yīng)用研發(fā)中心有限公司招聘筆試題庫(kù)含答案解析
- 氦氣安全技術(shù)說(shuō)明書(shū)MSDS
- JB/T 20176-2017汽化過(guò)氧化氫滅菌傳遞艙
- 不良品處理程序
- 住宅建筑設(shè)計(jì)原理重點(diǎn)
- (完整word)危大工程工巡視檢查記錄表
- (2023年)鐵路隧道監(jiān)控量測(cè)技術(shù)規(guī)程(QCR9218-2023)
- 鄉(xiāng)鎮(zhèn)防汛防臺(tái)人員轉(zhuǎn)移應(yīng)急演練預(yù)案
評(píng)論
0/150
提交評(píng)論