STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式

GPIO基本结构

文章目录

  • GPIO基本结构
    • M4的IO口基本结构
    • 特性
      • 输入通道
      • 输出通道
    • 4种输入模式
      • 输入浮空
      • 输入上拉
      • 输入下拉
      • 模拟模式
    • 4种输出模式
      • 开漏输出模式
      • 开漏复用输出模式
      • 推挽输出模式
      • 推挽复用输出模式
    • 总结
      • 输入模式
      • 输出模式

M4的IO口基本结构

STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第1张图片

特性

输入通道

STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第2张图片

  • 保护二极管: 起到了保护的作用
    • 标准3.3V
    • 可以容忍5V的输入
  • 上拉和下拉电阻 : 在M4框图中上拉和下拉放到了外部,这样输入和输出都可以使用
  • 施密特触发器
    • 当使用模拟输入时候 施密特触发器处于关闭状态
    • 输入值不是模拟量时候,施密特触发器就会打开
      • 复用功能输入 : IO口可以作为复用功能,不浪费资源
        • 当输入是串口等数据时候会走复用功能输入
        • 当输入为GPIO的时候 会走输入数据寄存器
      • 输入数据寄存器 : CPU会直接到输入数据寄存器中读取高低电平

输出通道

STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第3张图片

  • MOS管
    • 为什么使用MOS管 : 输出电流大
    • P-MOS : 如果想输出高电平,则导通N-MOS管
    • N-MOS : 如果想输出低电平,则导通N-MOS管
  • 输出控制 : 控制MOS管的高低电平
    • 由复用功能输出和输出数据寄存器来控制的

4种输入模式

输入浮空

输入浮空状态的 上拉电阻和下拉电阻全部都是浮空状态, 输入的数据完全是由外部决定的

输入浮空原理图
STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第4张图片

输入上拉

上拉电阻导通, 强制给输入信号一个高电平

输入上拉原理图
STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第5张图片

输入下拉

强制给输入信号一个低电平

输入下拉原理图
STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第6张图片

模拟模式

当输入为模拟模式时候,施密特触发器处于关闭状态, 直接通过模拟通道和片上外设相连

模拟模式原理图
STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第7张图片

4种输出模式

开漏输出模式

开漏输出模式 没有P-MOS管

cpu -> 寄存器 -> 输出控制电路 ->N-MOS -> 端口

开漏输出模式原理图
STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第8张图片

开漏复用输出模式

开漏复用输出模式 没有P-MOS管

从复用功能输出发出信号 -> 输出控制电路 -> N-MOS -> 端口

开漏复用模式输出原理图
STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第9张图片

推挽输出模式

相比开漏输出,增加了P-MOS管道

推挽输出模式原理图
STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第10张图片

推挽复用输出模式

和开漏复用模式输出 多出了P-MOS管

推挽复用输出模式原理图
STM32-(基于STM32F4)-GPIO基本结构-输入/输出模式_第11张图片

总结

输入模式

  • 输入浮空:没有强制控制输入值,输入值完全是有外部决定
  • 输入上拉:强制将输入值锁定在高电平
  • 输入下拉:强制将输入值锁定在低电平
  • 模拟模式:关闭施密特触发器,不走输入寄存器,直接从模拟通道走

输出模式

  • 开漏输出模式:使用CPU对寄存器修改,不输出高电平
  • 开漏复用输出模式:使用复用接口来输出, 不输出高电平
  • 推挽输出模式:使用CPU对寄存器修改,可输出高电平和低电平
  • 推挽复用输出模式:使用复用接口来输出, 可输出高电平和低电平

你可能感兴趣的:(STM32从入门到入土,单片机,stm32,gpio)