STM32--GPIO那些事

一、八大模式

输出 输入
推挽输出 浮空输入
开漏输出 上拉输入
复用推挽输出 下拉输入
复用开漏输出 模拟输入

STM32--GPIO那些事_第1张图片

二、细说

  1. 推挽输出

    推挽输出
    高电平 P-MOS激活 N-MOS断开 3.3v
    低电平 P-MOS断开 N-MOS激活 0v
    优点 可以直接输出3.3v
    缺点 只能输出3.3v(外部上拉和下拉的作用是控制在没有输出时IO口电平)
  2. 开漏输出

    开漏输出
    高电平 P-MOS断开 N-MOS断开 由外电路决定
    低电平 P-MOS断开 N-MOS激活 0v
    优点 配合外电路 更加灵活
    缺点 高电平实际是高阻态 无法输出电流
  3. 复用推挽输出--GPIO复用为其他外设

  4. 复用开漏输出--GPIO复用为其他外设

  5. 浮空输入          I/O端口的电平信号直接进入输入数据寄存器。MCU直接读取I/O口电平,I/O的电平状态是不确定的,完全由外部输入决定。

  6. 上拉输入          I/O内部接上拉电阻,此时如果IO口外部没有信号输入或者引脚悬空,IO口默认为高电平  如果I/O口输入低电平,那么引脚就为低电平,MCU读取到的就是低电平

  7. 下拉输入          I/O内部接下拉电阻,此时如果IO口外部没有信号输入或者引脚悬空,IO口默认为低电平  如果I/O口输入高电平,那么引脚就为高电平,MCU读取到的就是高电平

  8. 模拟输入          当GPIO引脚用于ADC采集电压的输入通道时,用作"模拟输入"功能,此时信号不经过施密特触发器,直接进入ADC模块,并且输入数据寄存器为空 ,CPU不能在输入数据寄存器上读到引脚状态。当GPIO用于模拟功能时,引脚的上、下拉电阻是不起作用的,这个时候即使配置了上拉或下拉模式,也不会影响到模拟信号的输入输出

你可能感兴趣的:(stm32,嵌入式硬件,单片机)