GPIO模式详解
最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:
(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出
对于刚入门的新手,我想这几个概念是必须得搞清楚的,平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种,但一直未曾对这些做过归纳。
因此,在这里做一个总结:
推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。
高低电平由IC的电源低定。
推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
推拉式输出级既提高电路的负载能力,又提高开关速度。
详细理解:
如图所示,推挽放大器的输出级有两个“臂”(两组放大元件),一个“臂”的电流增加时,另一个“臂”的电流则减小,二者的状态轮流转换。
对负载而言,好像是一个“臂”在推,一个“臂”在拉,共同完成电流输出任务。
当输出高电平时,也就是下级负载门输入高电平
时,输出端的电流将是下级门从本级电源经VT3拉出。
这样一来,输出高低电平时,VT3 一路和VT5 一路将交替工作,从而减低了功耗,提高了每个管的承受能力。
又由于不论走哪一路,管子导通电阻都很小,使RC常数很小,转变速度很快。
因此,推拉式输出级既提高电路的负载能力,又提高开关速度。
开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
开漏形式的电路有以下几个特点:
1. 利用外部电路的驱动能力,减少IC内部的驱动。
当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。
IC内部仅需很下的栅极驱动电流。
2. 一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。
比如加上上拉电阻就可以提供TTL/CMOS电平输出等。
(上拉电阻的阻值决定了逻辑电平转换的沿的速度。
阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。
)
3. OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。
因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。
所以如果对延时有要求,则建议用下降沿输出。
4. 可以将多个开漏输出的Pin,连接到一条线上。
通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。
这也是I2C,SMBus等总线判断总线占用状态的原理。
补充:什么是“线与”?:
在一个结点(线)上, 连接一个上拉电阻到电源VCC 或VDD 和n 个NPN 或NMOS 晶体管的集电极 C 或漏极D, 这些晶体管的发射极 E 或源极S 都接到地线上, 只要有一个晶体管饱和, 这个结点(线)就被拉到地线电平上. 因为这些晶体管的基极注入电流(NPN)或栅极加上高电平(NMOS), 晶体管就会饱和, 所以这些基极或栅极对这个结点(线)的关系是或非NOR 逻辑. 如果这个结点后面加一个反相器, 就是或OR 逻辑.
其实可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。
关于推挽输出和开漏输出,最后用一幅最简单的图形来概括:
该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP三极管截止,而上面NPN三极管导通,输出电平VS+;当比较器输出低电平时则恰恰相反,PNP三极管导通,输出和地相连,为低电平。
右边的则可以理解为开漏输出形式,需要接上拉。
浮空输入:对于浮空输入,一直没找到很权威的解释,只好从以下图中去理解了
由于浮空输入一般多用于外部按键输入,结合图上的输入部分电路,我理解为浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。
上拉输入/下拉输入/模拟输入:这几个概念很好理解,从字面便能轻易读懂。
复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)
最后总结下使用情况:
在STM32中选用IO模式
(1)浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1
(2)带上拉输入_IPU——IO内部上拉电阻输入
(3)带下拉输入_IPD——IO内部下拉电阻输入
(4)模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电
(5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。
当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。
可以读IO输入电平变化,实现C51的IO双向功能
(6)推挽输出_OUT_PP ——IO输出0-接GND,IO输出1 -接VCC,读输入值是未知的(7)复用功能的推挽输出_AF_PP ——片内外设功能(I2C的SCL,SDA)
(8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)
STM32设置实例:
(1)模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
(2)如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU 和浮空输入_IN_FLOATING和开漏输出_OUT_OD;。
GPIO参数配置
GPIO参数配置GPIO(General Purpose Input/Output)引脚是通用输入/输出引脚,可以用于连接和控制各种外部设备。
在树莓派等嵌入式系统中,GPIO引脚可以通过软件的方式进行配置和控制。
2.输入/输出模式:GPIO引脚可以被配置为输入模式或输出模式。
输入模式表示引脚可以接收外部设备的信号,输出模式表示引脚可以输出电信号给外部设备。
在配置GPIO引脚时,需要明确所需的输入/输出模式。
3.电源电压:GPIO引脚可以根据外部设备的要求配置相应的电源电压。
一般来说,引脚提供3.3V或5V的电压供应。
4.信号电平:GPIO引脚的信号电平指的是引脚的电压状态,通常是高电平(1)或低电平(0)。
在配置GPIO引脚时,可以设置引脚的初始电平状态,默认可以是高电平或低电平。
5.上拉/下拉电阻:GPIO引脚可以通过上拉电阻或下拉电阻来确定引脚的默认电平状态。
上拉电阻将引脚连接到正电压,下拉电阻将引脚连接到地。
在配置GPIO引脚时,可以启用或禁用上拉/下拉电阻。
在树莓派的Linux系统中,GPIO的参数配置通过GPIO库函数来实现。
以下是一个基本的GPIO参数配置的示例代码:```c#include <stdio.h>#include <wiringPi.h>int maiint gpioPin = 18;int mode = OUTPUT; // 输出模式int signalLevel = HIGH; // 高电平int pud = PUD_OFF; // 禁用上拉/下拉电阻if (wiringPiSetupGpio( == -1)return 1;}pinMode(gpioPin, mode); // 设置GPIO引脚的模式digitalWrite(gpioPin, signalLevel); // 设置GPIO引脚的信号电平pullUpDnControl(gpioPin, pud); // 设置GPIO引脚的上拉/下拉电阻return 0;```以上代码通过wiringPi库函数实现了GPIO参数配置。
gpio的类别
gpio的类别
GPIO(General Purpose Input/Output,通用输入/输出)的类别或模式可以根据不同的应用和设计需求进行划分。
以下是一些常见的GPIO类别或模式:
1、输入模式(Input Mode):GPIO端口将读取外部设备发出的信号。
2、输出模式(Output Mode):GPIO端口将向外部设备发出信号。
3、复用模式(Multiplexing Mode):GPIO端口可以同时实现输入和输出功能。
4、高阻模式(High Impedance Mode):GPIO端口被设置为高阻模式,输入端口的输入信号会被抑制。
5、推挽输出模式(Push-Pull Output Mode):GPIO端口可以在输出模式时使用推挽输出模式。
6、中断模式(Interrupt Mode):GPIO端口可以捕捉到外部设备发出的信号。
7、测试模式(Test Mode):GPIO端口可以用于测试外部设备。
8、热插拔模式(Hot-Plugging Mode):GPIO端口可以实现热插拔功能。
9、此外,在Cortex-M3等处理器中,GPIO的配置种类可能还包括模拟输入(AIN)、浮空输入(IN_FLOATING)、下拉输入(IPD)、
上拉输入(IPU)、开漏输出(Out_OD)等。
请注意,这些模式并非全部,具体的GPIO类别或模式可能会因处理器、芯片或开发板的不同而有所差异。
因此,在实际应用中,需要参考相关的硬件文档或数据手册以获取准确的GPIO类别和配置信息。
列举gpio的工作模式
列举gpio的工作模式GPIO(General Purpose Input Output)是一种通用的输入输出端口,被广泛地应用于单片机和嵌入式系统中。
GPIO工作模式对于嵌入式软件开发非常重要,因为它可以控制硬件设备的输入输出操作。
以下是GPIO的几种工作模式。
1. 输入模式(INPUT mode):GPIO被设置为输入模式时,它可以接收外部设备发送过来的电信号,并将其转化为数字信号,然后传送给处理器进行处理。
该工作模式可以用于传感器的数据采集。
2. 输出模式(OUTPUT mode):输出模式允许我们将数字信号发送到外部设备,控制它们的操作。
在输出模式下,我们可以将GPIO引脚设置为高电平或低电平,来控制呼吸灯、蜂鸣器或者马达等设备的工作状态。
3. 模拟输入模式(ANALOGUE INPUT mode):模拟输入模式允许我们将模拟信号传递到GPIO引脚上。
模拟信号可以是从传感器等设备采样得到的原始数据。
4. PWM输出模式(PWM OUTPUT mode):PWM(Pulse Width Modulation)也是一种输出模式。
该工作模式允许我们通过PWM信号来控制输出的电压和电流。
例如,我们可以使用PWM来控制直流电机的转速。
5. 硬件中断(HARDWARE INTERRUPT)模式:硬件中断是一个非常重要的GPIO工作模式。
它允许外部设备通过GPIO发出中断请求信号,从而通知处理器有重要事件已经发生,需要进行处理。
以上五种工作模式是GPIO在嵌入式系统中常用的模式。
可以根据不同的硬件设备和应用场景来选择适合的GPIO工作模式。
GPIO作为嵌入式系统中的通用输入输出端口,它可以带来更多的灵活性和可扩展性。
gpio详细解读 -回复
gpio详细解读-回复GPIO详细解读GPIO,全称为通用输入输出接口(General Purpose Input/Output),是一种在计算机系统中用于与外部设备进行数字通信的接口。
它允许计算机与各种不同类型的外设进行通信,并且可以通过软件控制这些外设的输入和输出。
在本文中,我将逐步回答关于GPIO的各种问题,以帮助读者全面理解和使用GPIO接口。
一、GPIO概述GPIO是计算机系统与外部设备之间的桥梁,它通过引脚(pin)与外设相连,使用数字信号进行通信。
每个引脚可以配置为输入或输出模式,以实现不同的功能。
GPIO接口的灵活性和通用性使其成为计算机系统的核心部分。
二、GPIO引脚GPIO引脚是与外部设备相连的物理引脚,它们通常以数字方式编号,并且可以通过引脚号来识别和访问。
常见的计算机系统通常具有多个GPIO引脚,可以通过软件将它们配置为输入或输出模式。
三、GPIO模式GPIO引脚可以配置为输入或输出模式,取决于与之相连的外部设备类型和应用需求。
在输入模式下,GPIO引脚可以接收来自外设的信号,并将其传递到计算机系统;而在输出模式下,GPIO引脚可以发送计算机系统生成的信号到外设。
四、GPIO寄存器GPIO寄存器是计算机系统中用于配置和控制GPIO引脚的寄存器。
通过读写这些寄存器的值,可以设置GPIO引脚的工作模式、电平状态和其他参数。
使用GPIO寄存器可以实现对GPIO接口的灵活编程控制。
五、GPIO驱动程序为了简化对GPIO的操作,操作系统通常提供了GPIO驱动程序。
通过调用这些驱动程序提供的接口函数,可以更方便地实现对GPIO引脚的配置和控制。
驱动程序隐藏了底层硬件细节,使开发人员能够更专注于应用程序的开发。
六、GPIO使用示例以下是一个简单的GPIO使用示例,以帮助读者更好地理解GPIO接口的工作原理。
1. 引脚配置:首先,需要选择一个GPIO引脚,并将其配置为输入或输出模式。
这可以通过操作GPIO寄存器来实现。
GPIO模式详解
GPIO模式详解GPIO是General Purpose Input/Output的缩写,中文意思为通用输入输出引脚。
它是一种通用的硬件接口,可以用于连接外部设备和微控制器或单片机。
GPIO在许多嵌入式系统中都被广泛使用,例如树莓派等。
GPIO功能的实现方式有几种,其中最常见的是通过设置寄存器来控制GPIO的模式和状态。
下面将详细介绍GPIO的几种常见模式。
1. 输入模式(Input Mode):GPIO引脚在输入模式下接收外部信号,可以监测外部信号的状态。
输入模式通常用于外部设备的传感器信号读取。
在输入模式下,可以设置GPIO引脚为上拉输入(Pull-up Input)或下拉输入(Pull-down Input),以防止输入信号漂移。
2. 输出模式(Output Mode):GPIO引脚在输出模式下可以向外部设备发送信号。
输出模式通常用于控制外部设备的电平或状态。
在输出模式下,可以设置GPIO引脚为开漏输出(Open Drain Output)或推挽输出(Push-pull Output),用于适应不同的外部设备。
3. 仿真模式(Analog Mode):GPIO引脚在仿真模式下可以实现模拟信号输入和输出。
在一些特定的应用中,需要使用GPIO引脚来进行模拟信号的输入和输出,例如连接模拟传感器或驱动模拟设备。
4. 复用模式(Alternate Function Mode):GPIO引脚在复用模式下可以实现多种不同的功能,通常用于连接外部设备的特定功能接口。
例如,一些GPIO引脚可以被设置为串行通信接口(如SPI、I2C、UART等)的引脚,以便与外部设备进行通信。
根据不同的芯片和硬件平台,GPIO的模式实现方式有所不同。
有些芯片需要通过设置特定的寄存器来配置GPIO的模式和状态,其他一些芯片则通过使用特定的库函数或驱动程序来操作GPIO。
此外,GPIO的模式还包括一些其他的特性,例如中断功能、输入输出速度控制、上下拉电阻的选择等。
GPIO的八种模式的详细讲解
GPIO的⼋种模式的详细讲解输⼊模式-输⼊浮空(GPIO_Mode_IN_FLOATING)-输⼊上拉(GPIO_Mode_IPU)-输⼊下拉(GPIO_Mode_IPD)-模拟输⼊(GPIO_Mode_AIN)输出模式-开漏输出(GPIO_Mode_Out_OD)-开漏复⽤功能(GPIO_Mode_AF_OD)-推挽式输出(GPIO_Mode_Out_PP)-推挽式复⽤功能(GPIO_Mode_AF_PP)输⼊浮空:浮空就是逻辑器件与引脚即不接⾼电平,也不接低电平。
由于逻辑器件的内部结构,当它输⼊引脚悬空时,相当于该引脚接了⾼电平。
⼀般实际运⽤时,引脚不建议悬空,易受⼲扰。
通俗讲就是浮空就是浮在空中,就相当于此端⼝在默认情况下什么都不接,呈⾼阻态,这种设置在数据传输时⽤的⽐较多。
浮空最⼤的特点就是电压的不确定性,它可能是0V,页可能是VCC,还可能是介于两者之间的某个值(最有可能)浮空⼀般⽤来做ADC输⼊⽤,这样可以减少上下拉电阻对结果的影响输⼊上拉模式:上拉就是把点位拉⾼,⽐如拉到Vcc。
上拉就是将不确定的信号通过⼀个电阻嵌位在⾼电平。
电阻同时起到限流的作⽤。
弱强只是上拉电阻的阻值不同,没有什么严格区分输⼊下拉:就是把电压拉低,拉到GND。
与上拉原理相似模拟输⼊:模拟输⼊是指传统⽅式的输⼊,数字输⼊是输⼊PCM数字信号,即0,1的⼆进制数字信号,通过数模转换,转换成模拟信号,经前级放⼤进⼊功率放⼤器,功率放⼤器还是模拟的开漏输出:输出端相当于三极管的集电极,要得到⾼电平状态需要上拉电阻才⾏,适合于做电流型的驱动,其吸收电流的能⼒相对强(⼀般20mA以内)开漏形式的电路有以下⼏个特点:1. 利⽤外部电路的驱动能⼒,减少IC内部的驱动。
当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。
IC内部仅需很下的栅极驱动电流。
2. ⼀般来说,开漏是⽤来连接不同电平的器件,匹配电平⽤的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出⾼电平的功能,则需要接上拉电阻,很好的⼀个优点是通过改变上拉电源的电压,便可以改变传输电平。
GPIO的各种模式
GPIO的各种模式GPIO管脚可以被配置为多种工作模式,其中有3种比较常用:高阻输进、推挽输出、开漏输出1.高阻输进(Input)图1.1 GPIO高阻输进模式结构示意图为减少信息传输线的数目,大多数计算机中的信息传输线采用总线形式,即凡要传输的同类信息都在同一组传输线,且信息是分时传送的。
在计算机中一般有三组总线,即数据总线、地址总线和控制总线。
为防止信息相互干扰,要求凡挂到总线上的寄存器或存储器等,它的输进输出端不仅能呈现0、1两个信息状态,而且还应能呈现第三个状态----高阻抗状态,即此时似乎它们的输出被开关断开,对总线状态不起作用,此时总线可由其他器件占用。
三态缓冲器即可实现上述功能,它除具有输进输出端之外,还有一控制端。
如图1.1所示,为GPIO管脚在高阻输进模式下的等效结构示意图。
这是一个管脚的情况,其它管脚的结构也是同样的。
输进模式的结构比较简单,就是一个带有施密特触发输进(Schmitt-triggered input)的三态缓冲器(U1),并具有很高的输进等效阻抗。
施密特触发输进的作用是能将缓慢变化的或者是畸变的输进脉冲信号整形成比较理想的矩形脉冲信号。
执行GPIO管脚读操纵时,在读脉冲(Read PULSE)的作用下会把管脚(Pin)确当前电平状态读到内部总线上(Internal Bus)。
在不执行读操纵时,外部管脚与内部总线之间是隔离的。
2.推挽输出(Output)图1.2 GPIO推挽输出模式结构示意图推挽输出原理:在功率放大器电路中大量采用推挽放大器电路,这种电路中用两只三极管构成一级放大器电路,两只三极管分别放大输进信号的正半周和负半周,即用一只三极管放大信号的正半周,用另一只三极管放大信号的负半周,两只三极管输出的半周信号在放大器负载上合并后得到一个完整周期的输出信号。
推挽放大器电路中,一只三极管工作在导通、放大状态时,另一只三极管处于截止状态,当输进信号变化到另一个半周后,原先导通、放大的三极管进进截止,而原先截止的三极管进进导通、放大状态,两只三极管在不断地交替导通放大和截止变化,所以称为推挽放大器()。
GPIO输入输出各种模式详解
GPIO输入输出各种模式详解GPIO(General Purpose Input/Output)是通用输入输出口,用于连接外部设备和单片机。
在单片机中,GPIO可以配置为输入或输出模式,同时还有三种特殊的模式:推挽模式、开漏模式和准双向端口模式。
下面将从原理、使用场景和配置方法三个方面详细介绍这三种模式。
推挽模式(Push-Pull Mode)是GPIO输出的常见模式,也是默认的输出模式。
当GPIO输出引脚处于高电平状态时,推挽模式会提供高电平输出(通常为Vcc电源电平),而当GPIO输出引脚处于低电平状态时,推挽模式会提供低电平输出(通常接地)。
推挽模式的优势在于输出电流大,能够提供较强的驱动能力,适用于直接驱动大功率负载的场景。
例如,通过GPIO控制LED灯等外设时,推挽模式可以稳定提供给LED所需的驱动电流,保证LED的正常工作。
开漏模式(Open-Drain Mode)是GPIO输出的另一种模式。
当GPIO输出引脚处于高电平状态时,开漏模式会将输出引脚拉到高阻态,而当GPIO输出引脚处于低电平状态时,开漏模式会将输出引脚拉到地。
开漏模式需要通过一个外接上拉电阻将输出引脚连接到Vcc电源电平上。
开漏模式的优势在于输出可以与其他器件共享同一个总线,通过总线上的上拉电阻或其他器件的驱动电源提供高电平。
开漏模式适用于多个GPIO输出的引脚需要共享一个总线的场景,例如,使用I2C总线协议时,多个GPIO引脚可以共享SDA(数据线)和SCL(时钟线)。
准双向端口(Quasi-Bidirectional Port)是GPIO输入输出的特殊模式,常见于外设总线接口中。
准双向端口可以既作为输入又作为输出,且在不同的时间片段进行输入输出操作。
准双向端口的原理是通过一个三态门和一个外接上拉电阻实现的。
当GPIO处于输出模式时,三态门使得GPIO输出到外设;而当GPIO处于输入模式时,三态门处于高阻态,外设可以将信号输入到GPIO中。
GPIO用法及应用流程
GPIO用法及应用流程GPIO(General Purpose Input/Output)是一种通用输入/输出接口,用于连接嵌入式系统的外部设备和传感器。
它可以通过编程来控制和读取外部设备的状态,并在嵌入式系统中实现各种应用功能。
下面将详细介绍GPIO的用法及应用流程。
一、GPIO的用法:1.引脚模式设置:GPIO的引脚可以设置为输入模式(用于读取外部设备的状态)或输出模式(用于控制外部设备的状态)。
2.引脚方向设置:输入模式的引脚可以设置为上拉电阻或下拉电阻,以防止悬浮状态产生误判;输出模式的引脚可以设置为高电平或低电平。
3.引脚状态读取与控制:可以通过读取引脚的电平状态来获取外部设备的状态信息;也可以通过控制引脚的电平状态来控制外部设备的行为。
4.中断与事件:可以在引脚电平变化时产生中断或触发事件,以便及时响应引脚的状态变化。
5.管理多个引脚:可以同时管理多个GPIO引脚,实现更复杂的应用功能。
二、GPIO的应用流程:1.引脚初始化:在使用GPIO之前,需要将相关引脚初始化为输入或输出模式,并设置正确的引脚方向、上拉/下拉电阻等属性。
2.读取引脚状态:通过读取引脚的电平状态来获取外部设备的状态信息。
可以使用轮询方式或中断方式进行读取。
3.控制引脚状态:通过控制引脚的电平状态来控制外部设备的行为。
可以将引脚设置为高电平或低电平,或者使用PWM(脉冲宽度调制)方式进行精确控制。
4.处理引脚中断/事件:当引脚发生电平变化时,可以通过中断或事件的方式及时响应引脚的状态变化,进而执行相应的处理任务。
5.循环读取/控制:通常情况下,GPIO的读取和控制操作需要在一个循环中进行,以不断更新外部设备的状态或响应外部变化。
三、GPIO的应用示例:1.LED控制:将GPIO引脚设置为输出模式,通过控制引脚的电平状态来控制LED的亮灭。
2.按钮读取:将GPIO引脚设置为输入模式,读取按钮的电平状态来判断按钮是否被按下。
GPIO的8种模式详解
和stm32的GPIO相关的寄存器有 (1)两个32位的配置寄存器(GPIOX_CRL,GPIOX_CRH) 每一个IO占用4位,16个IO占用64位就是两个32为寄存器。 其中CNF[1:0]是用来配置模式的,其定义如下 MODE[1:0]是用来配置输入输出模式及输出模式下的端口速率的 (2)端口输入数据寄存器(GPIOX_IDR) 其中高16位是保留的,低十六位对应着16个IO口的数据位。 (3)端口输出数据寄存器(GPIOX_ODR) 其中高16位是保留的,低十六位对应着16个IO口的数据位。 (4)端口位设置/清除寄存器(GPIOX_BSRR) 其中的每一位的定义如下: (5)端口位清除寄存器(GPIOX_BRR) 前面的16位是保留的,后面的十六位的定义如下: (6)端口配置锁定寄存器(GPIOX_LCKR)
