STM32学习笔记(二)---GPIO
STM32学习笔记(二)—GPIO
GPIO功能框图
GPIO功能描述
-
输入功能(浮空/上拉/下拉)
a. 输出被禁止,施密特触发器打开,可以通过输入数据寄存器GPIOx_IDR读取I/O状态。
b. 可配置为浮空输入、上拉输入、下拉输入。
-
输出功能(推挽/开漏 + 上拉/下拉)
a. 推挽模式以双MOS工作,输出数据寄存器GPIOx_ODR可以控制I/O输出高低电平。
b. 开漏模式只有NMOS工作,输出数据寄存器GPIOx_ODR可以控制I/O输出高阻态或低电平
c. 输出时引脚电平受ODR寄存器的影响,若ODR寄存器对应的引脚位为0,在这种状况下,上拉只能小幅提高输出电流能力,而不会影响引脚的输出状态。
-
模拟功能(输入/输出)
a. 模拟输入输出模式中,双 MOS 管结构被关闭,施密特触发器停用,上/下拉也被禁止。其它外设通过模拟通道进行输入输出。
-
复用功能(输出:推挽/开漏 + 上拉/下拉、输入:浮空/上拉/下拉)
a. 复用输出功能:输出信号源于其他外设,输出数据寄存器ODR无效。
b. 复用输入功能:输入可用,通过输入数据寄存器可以获取I/O实际状态,但一般用外设寄存器来获取该输入信号。
注:
- 推挽输出一般应用于输出电平为0和3.3V,并需要高速切换的场合。
- 开漏输出一般应用在I2C、SMBUS通讯等需要**“线与”**功能的总线当中,和电平不匹配的场合(如:需要输出5V的高电平)。
- 开漏输出为正常使用必须外接上拉电阻。