STM32的GPIO的8种模式 | 您所在的位置:网站首页 › io引脚的四种工作模式 › STM32的GPIO的8种模式 |
一、GPIO的八种工作模式 1、上拉输入:IO口在无输入的情况下,保持高电平。当没有输入时,由于上拉电阻的存在,施密特触发器输入为1,则施密特触发器输出就为1,所以Read读到的就为1 2、下拉输入:IO口在无输入的情况下,保持低电平。当没有输入时,由于下拉电阻的存在,施密特触发器输入为0,则施密特触发器输出就为0,所以Read读到的就为0。 3、浮空输入:浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。 4、模拟输入:输入信号不经施密特触发器直接接入,输入信号为模拟量而非数字量,其余输入方式输入数字量。读取的是外部信号的模拟量。一般用于ADC。 5、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。 6、开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点: 7、复用推挽输出:此时IO受内部外设控制,比如定时器的PWM,比如SPI的MOSI,MISO等。 而普通的推挽输出,则IO受ODR控制。 8、复用开漏输出:参考复用推挽。 二、总结在STM32中选用IO模式 1、浮空输入GPIO_IN_FLOATING ——浮空输入,可以做KEY识别,RX1。 2、带上拉输入GPIO_IPU——IO内部上拉电阻输入。 3、带下拉输入GPIO_IPD—— IO内部下拉电阻输入。 4、模拟输入GPIO_AIN ——应用ADC模拟输入,或者低功耗下省电。 5、开漏输出GPIO_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能。 6、推挽输出GPIO_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的。 7、复用功能的推挽输出GPIO_AF_PP ——片内外设功能(I2C的SCL,SDA)。 8、复用功能的开漏输出GPIO_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)。 通用模式:4种输入模式,2种输出模式(此时GPIO受CM3内核(即:cpu)控制) 复用模式:2种复用输出模式:推挽式复用功能输出模式、开漏复用功能输出模式(在复用模式下,GPIO受STM32片上外设(如:I^2C、UART、TIM、pwm、ADC等)所控制,(此时I/O口输出/输入的信息,都是由片上外设来发送/接收) GPIO口的输出模式下,有3 种输出速度可选(2MHz 、10MHz和50MHz) : 这个速度是指GPIO口驱动电路的响应速度,而不是输出信号的速度,输出信号的速度与程序有关。 |
CopyRight 2018-2019 实验室设备网 版权所有 |