概述
前言:
每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL, GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。根据数据手册中列出的每个I/O端口的特定硬件特征, GPIO端口的每个位可以由软件分别配置成多种模式。
GPIO的四种输入
(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
GPIO的四种输出
(1)GPIO_Mode_Out_OD 开漏输出
(2)GPIO_Mode_Out_PP 推挽输出
(3)GPIO_Mode_AF_OD 复用开漏输出
(4)GPIO_Mode_AF_PP 复用推挽输出
一、浮空输入模式
浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了。
在浮空输入状态下, IO 的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定。CPU通过输入数据寄存器读取IO口状态。
二、上拉下拉输入模式
将状态不确定的信号线通过一个电阻将其至高电平(上拉)或低电平(下拉),以防止输入信号线因悬空而出现不确定的状态,继而导致系统出现不期望的状态。
在不同应用场合中会对电阻的阻值要求有所不同。根据STM32数据手册,上拉电阻大小一般为30–50K。CPU通过输入数据寄存器读取IO口状态为高电平或者是低电平。
三、模拟输入模式
输入的是一个模拟量,即具体的电压值,在ADC数模转换中会用到,将模拟量转化为数字量。
四、推挽输出模式
可以输出强高低电平,输出高电平时,电流输出到负载,叫灌电流,可以理解成推,输出低电平时,负载电流流向芯片,叫拉电流,即挽。
当INT输入为1时,经过反向器后变为0;此时Us=Ug三极管截止,上拉电阻通过外部VDD输出高电平1
当INT输入为0时,经过反向器后为0,此时Ug>Us,三极管导通,OUT输出0
推挽输出总结:
1、可以输出高低电平,用于连接数字器件,高电平由VDD决定,低电平由VSS决定
2.推挽结构指两个三极管受两路互补的信号控制,总是在一个导通的时候另外一个截止,优点开关效率效率高,电流大,驱动能力强。
五、开漏输出模式
只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)
开漏输出总结:
1. 只能输出低电平,不能输出高电平。
2、如果要输出高电平,则需要外接上拉。
3、开漏输出具有“线与”功能,一个为低,全部为低,多用于I2C和SMBUS总线。
六、复用推挽输出模式
复用开漏输出、复用推挽输出:可以理解为 GPIO 口被用作第二功能时的配置情况(即并非作为通用 IO口使用)复用功能的推挽输出_AF_PP ——片内外设功能(I2C SCL,SDA)
七、复用开漏输出模式
复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)STM32 设置实例:
(1)模拟 I2C 使用开漏输出_OUT_OD,接上拉电阻,能够正确输出 0 和 1;读值时先GPIO_SetBits();拉高,然后可以读 IO 的值。
(2)如果是无上拉电阻, IO 默认是高电平;需要读取 IO 的值,可以使用带上拉输入_IPU 和浮空输入_IN_FLOATING 和开漏输出_OUT_OD;
总结:
- 作为普通 GPIO 输入:根据需要配置该引脚为浮空输入、 带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块
- 作为普通 GPIO 输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。
- 作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。
- 作为内置外设的输入:根据需要配置该引脚为浮空输入、 带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。
注意:
- 注意如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。
- STM32 复位后,IO 端口处于输入浮空状态.JTAG 引脚复位以后,处于上拉或者下拉状态。
所有 IO 端口都具有外部中断能力,端口必须配置成输入模式,才能使用外部中断功能.
最后
以上就是踏实苗条为你收集整理的STM32GPIO输入输出的八种工作模式的全部内容,希望文章能够帮你解决STM32GPIO输入输出的八种工作模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复