GPIO 接口工作原理

GPIO : GENERAL PURPOSE INPUT OUTPUT  通用输入输出端口

 是STM32的一些引脚,输出到---> led、蜂鸣器,   输入来自<--- 按键、ADC采样

 通过总线读写寄存器,实现 IO口的控制。

寄存器(4种):

配置、数据、置位/复位、复用 

 GPIO工作原理:

(1)输入

4种工作模式:上拉、下拉、浮空、模拟

上拉输入:通过“配置寄存器”设置使用上拉电阻连到VDD,“数据寄存器”直接读取 IO端口的电平。

                  IO =1 or 0 时,读到 1 or 0 ; 

                  注意 引脚 “悬空”时,读到  1 

 下拉输入:通过“配置寄存器”设置使用上拉电阻连到VDD,“数据寄存器”直接读取 IO端口的电平。

                   IO =1 or 0 时,读到 1 or 0 ; 

                  注意 引脚 “悬空”时,读到  0

 浮空输入(常用):通过“配置寄存器”设置使用上拉电阻连到VDD,“数据寄存器”直接读取 IO端口的电平。

                   IO =1 or 0 时,读到 1 or 0 ;

                  注意 引脚 “悬空”时,读到  “不确定”

 常用“浮空输入”模式,但是必须要给IO口接一个信号进来,不能空着。

 模拟输入:信号从IO口进来,不经过斯密特触发器(用于将信号A-->D),模拟信号直接给到片上的模拟外设,如ADC。

 

(2)输出

 4种输出工作模式:推挽、开漏、推挽复用、开漏复用

推挽输出:

 注意 “推挽输出”模式,由于MOS管的 current limitation,单口电流Max只有25mA,总输出电流只有140mA。

开漏输出:(1)端口输出电压达不到要求,外接一个上拉电阻,把电压拉上去,达到电平匹配的目的;

                  (2)MOS截止时,高阻态下,可以实现多个开漏输出模式的IO引脚 “线与”。

 电压不匹配是,上拉一个电阻。

 线与:

 推挽复用输出:

 输出原理与推挽输出类似;只是数据来源不是数据寄存器,而是片上的外设,如 PWM,串口等。

 开漏复用输出:

与开漏输出类似,只是数据来源是片上的外设,如 I2C 等。

 推挽 与 开漏  优缺点

 

posted @ 2025-02-21 11:26  中年二班  阅读(5)  评论(0编辑  收藏  举报