STM32 IO口输入输出模式的简洁见解

输入模式

(1) 浮空输入:没有外界电压输入时,电压不确定。

(2) 上拉输入:没有外界电压输入时,IO口经过一个上拉电阻接高电压Vcc,再经过施密特触发器转换成1信号,此时为高电平。(无输入,高电平)

           有外界电压输入时,电压进入芯片后加了一个上拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平是高电平还是低电平。

(3) 下拉输入:没有外界电压输入时,IO口经过一个上拉电阻接低电压Vss,再经过施密特触发器转换成0信号,此时为低电平。(无输入,低电平)

有外界电压输入时,电压进入芯片后加了一个下拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平是高电平还是低电平。    

(4) 模拟输入: 信号进入后不经过上拉电阻或者下拉电阻,关闭施密特触发器,经由另一线路把电压信号传送到片上外设模块。比如传送给ADC模块,由ADC采集电压信号。所以可以理解为模拟输入的信号是未经处理的信号,是原汁原味的信号。                  


输出模式

 (1) 开漏输出:当芯片写入1,此时IO口的输出电压不由芯片控制,可以用外部电路加上一个上拉电阻或者下拉电阻接相应的电压来控制输出。

             当芯片写入0的时候,此时IO口输出低电压。

(2) 推挽输出:芯片写入1,IO口的输出电压就是高电压。

           芯片写入2,IO口的输出电压就是低电压。(由芯片控制)

(3) 复用就不赘述了。

你可能感兴趣的:(STM32小知识,STM32硬件)