日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]此篇文章重點(diǎn)討論STM32的GPIO的配置種類以及上拉輸入、下拉輸入、浮空輸入、模擬輸入的區(qū)別經(jīng)過(guò)學(xué)習(xí)STM32發(fā)現(xiàn),GPIO有8種工作方式輸入模式:輸入浮空、輸入上拉、輸入下拉、模擬輸入輸出模式:開漏輸出、開漏復(fù)用功能

此篇文章重點(diǎn)討論STM32的GPIO的配置種類以及上拉輸入、下拉輸入、浮空輸入、模擬輸入的區(qū)別

經(jīng)過(guò)學(xué)習(xí)STM32發(fā)現(xiàn),GPIO有8種工作方式

輸入模式:輸入浮空、輸入上拉、輸入下拉、模擬輸入

輸出模式:開漏輸出、開漏復(fù)用功能、推挽式輸出、推挽式復(fù)用功能

輸入模式參照?qǐng)D片來(lái)講

浮空輸入:浮空輸入狀態(tài)下上拉電阻和下拉電阻都是斷開的,信號(hào)經(jīng)過(guò)I/O端口——施密特觸發(fā)器——輸入數(shù)據(jù)寄存器——CPU讀取

上拉輸入:相比浮空輸入狀態(tài),就是上拉電阻閉合(下拉電阻仍然處于斷開狀態(tài))

下拉輸入:相比浮空輸入狀態(tài),就是下拉電阻閉合(上拉電阻仍然處于斷開狀態(tài))

模擬輸入:上拉電阻和下拉電阻都處于斷開狀態(tài),并且信號(hào)不是經(jīng)過(guò)施密特觸發(fā)器,而是直接進(jìn)入施密特觸發(fā)器之前的模擬輸入通道


輸出模式也參照?qǐng)D片來(lái)講:


開漏輸出模式:其中1號(hào)區(qū)域,兩個(gè)寄存器有兩種讀寫方式,這個(gè)后面會(huì)介紹,這是關(guān)于寄存器的配置原因,對(duì)于輸出驅(qū)動(dòng)器部分,當(dāng)輸出控制電路輸出邏輯1(高電平)時(shí),外部的I/O端口輸出的電平由外部電路決定,如果外部連接有上拉電阻,則輸出高電平,如果接有下拉電阻,則輸出低電平;當(dāng)輸出控制電路輸出邏輯0(低電平)時(shí),外部的電路不管是否接有上拉電阻還是下拉電阻,都輸出低電平;所有應(yīng)用開漏輸出模式的時(shí)候想要輸出高電平切記要加上拉電阻

開漏復(fù)用功能輸出:此模式與開漏輸出模式只有一個(gè)不同的地方,就是在1號(hào)區(qū)域,此模式是直接在復(fù)用功能輸出引輸出部分輸出的

推挽輸出模式:也是走的1、2、3、4號(hào)路線,其中在2號(hào)區(qū)域輸出控制電路部分,如果輸出邏輯1,則3號(hào)區(qū)域P-MOS導(dǎo)通,N-MOS截止,輸出高電平(不管外部有沒(méi)有上拉電阻);如果輸出邏輯0,則3號(hào)區(qū)域P-MOS截止,N-MOS導(dǎo)通,輸出低電平(不管外部有沒(méi)有上拉電阻和下拉電阻)

推挽復(fù)用功能輸出:此模式與推挽輸出模式不同的地方就是1號(hào)區(qū)域,此模式是直接在復(fù)用功能輸出部分輸出的

下面講解一下輸出模式與寄存器的關(guān)系

在STM32的參考手冊(cè)中我們可以找到GPIOx_CRL和GPIOx_CRH寄存器,這兩個(gè)寄存器功能相同,就是GPIOx_CRL是用來(lái)配置低8位(例:PA0_PA7)I/O口的,GPIOx_CRH是用來(lái)配置高8位(例:PA8_PA15)I/O口的


這是一個(gè)32位寄存器,每4位配置一個(gè)端口,例:第1位和第0位即MODE0[1:0],用來(lái)設(shè)置Px0(PA0%20or%20PB0%20or%20PC0%20and%20so%20on)是輸入還是輸出,第3位和第2位即CNF0[1:0],用來(lái)選擇Px0的輸入或者輸出的具體模式。

其中有一個(gè)地方值得注意,就是在輸入模式下,CNFx=10的狀態(tài):上拉/下拉輸入模式,到底是上拉輸入模式還是下拉模式就要用到另一個(gè)寄存器GPIOx_ODR,并且這個(gè)寄存器對(duì)輸入和輸出有著不同的作用


這是一個(gè)32位寄存器,高16位保留,低16位每位對(duì)應(yīng)Px的一個(gè)I/O口

在輸入模式下,如果對(duì)應(yīng)位置1,則為上拉輸入;如果對(duì)應(yīng)位置0,則為下拉輸入

在輸出模式下,如果對(duì)應(yīng)位置0,則是要求輸出端口輸出默認(rèn)輸出高電平,注意:此處,若為開漏輸出模式,若想輸出高電平需要外界上拉電阻

具體對(duì)應(yīng)關(guān)系見下表:


還有一個(gè)寄存器需要介紹,端口位設(shè)置/清除寄存器(GPIOx_BSRR)


在輸出模式下,可以通過(guò)配置這個(gè)寄存器決定到底是輸出高電平還是低電平,低16位置1,則對(duì)應(yīng)端口輸出高電平,高16位置1,則對(duì)應(yīng)端口輸出低電平

這個(gè)寄存器就是上面講解輸出模式時(shí)的疑問(wèn)


配置輸出模式時(shí),可以通過(guò)配置寄存器GPIOx_BSRR然后映射到寄存器GPIOx_ODR,也可以直接配置寄存器GPIOx_ODR,但是對(duì)于運(yùn)行效率來(lái)說(shuō),還是通過(guò)GPIOx_BSRR映射到GPIOx_ODR效率更高。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

樹莓派,(英語(yǔ):Raspberry Pi,簡(jiǎn)寫為RPi,別名為RasPi / RPI)是為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì),只有信用卡大小的微型電腦,其系統(tǒng)基于Linux。隨著Windows 10 IoT的發(fā)布,用戶可以用上運(yùn)行...

關(guān)鍵字: 樹莓派 gpio gpio編程

AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8...

關(guān)鍵字: 3AT89C51 單片機(jī) 引腳說(shuō)明

串行外設(shè)接口(SPI)是微控制器和外圍IC(如傳感器、ADC、DAC、移位寄存器、SRAM等)之間使用最廣泛的接口之一。本文先簡(jiǎn)要說(shuō)明SPI接口,然后介紹ADI公司支持SPI的模擬開關(guān)與多路轉(zhuǎn)換器,以及它們?nèi)绾螏椭鷾p少系...

關(guān)鍵字: gpio spi 串行外設(shè)接口

一、什么是GPIO? GPIO,英文全稱為General-Purpose IO ports,也就是通用IO口。嵌入式系統(tǒng)中常常有數(shù)量眾多,但是結(jié)構(gòu)卻比較簡(jiǎn)單的外部設(shè)備/電路,對(duì)這些設(shè)備/電路有的需要C

關(guān)鍵字: gpio 通用io口

//**********************************************************************//************************************...

關(guān)鍵字: gpio STM32

GPIO(General Purpose I/O Ports)意思為通用輸入/輸出端口,通俗地說(shuō),就是一些引腳,可以通過(guò)它們輸出高低電平或者通過(guò)它們讀入引腳的狀態(tài)-是高電平或是低電平。 S3C2410共有117個(gè)I...

關(guān)鍵字: ARM gpio 硬件介紹

Ⅰ、寫在前面完事開頭難,只要肯努力;師傅領(lǐng)進(jìn)門,修行看個(gè)人;當(dāng)你看到本文,說(shuō)明你是幸運(yùn)的,作者接下來(lái)推出的一系列STM8S教程,將助你踏入STM8S的世界。本文是STM8S教程的開始,寫給剛?cè)腴TSTM8S的朋友。學(xué)習(xí)本文

關(guān)鍵字: gpio stm8s 基礎(chǔ)知識(shí)

一、在STM32中,有5個(gè)時(shí)鐘源,為HSI,HSE,LSI,LSE,PLL.①HSI是高速內(nèi)部時(shí)鐘,RC振蕩器,頻率為8MHz;②HSE--高速外部時(shí)鐘,可接石英或者陶瓷諧振器,或者外部時(shí)鐘源,頻率范圍4MHz--15M...

關(guān)鍵字: STM32 stm32f10x 時(shí)鐘配置

以下是驅(qū)動(dòng)的源碼。#includelinux/config.h//配置頭文件#includelinux/kernel.h//用于調(diào)用kmalloc和kfree#includelinux/sched.h//調(diào)度,進(jìn)程睡眠,...

關(guān)鍵字: gpio mini2440 驅(qū)動(dòng)led

一、API說(shuō)明HAL庫(kù)一共包含如下6個(gè)IO操作函數(shù):1、讀取某個(gè)引腳的電平狀態(tài):HAL_GPIO_ReadPin()2、寫入某個(gè)引腳的電平狀態(tài):HAL_GPIO_WritePin()3、翻轉(zhuǎn)某個(gè)引腳的電平狀態(tài):HAL_G...

關(guān)鍵字: gpio LED STM32
關(guān)閉