【嵌入式STM32-02】STM32 GPIO 工作原理|库函数|CubeMx|寄存器

STM32 GPIO

参考 STM32-GPIO介绍_KevinFlyn的博客-CSDN博客_stm32gpio是什么

GPIO通用输入输出端口(General-purpose input/output)

一、GPIO工作原理

1.GPIO工作模式

image-20211206090735777

image-20211206090815348

  • 浮空输入 编码器,PWM捕获

  • 上拉输入 按键、UART(Rx)

    默认为高

  • 下拉输入

  • 模拟输入 ADC

  • 开漏输出 IIC

    使用场合:一般用在电平不匹配的场合,如需要输出5V的高电平。有线与特性

    使用方法:就需要再外部接一个上拉电阻,电源为5V,把GPIO设置为开漏模式, 当输出高组态时,由上拉电阻和电源向外输出5V的电压。

  • 推挽输出 一般输出

    使用方法:直接使用

    输出电平:推挽输出的低电平是0V,高电平是3.3V。

  • 复用开漏输出 硬件IIC

  • 复用推挽输出 PWM输出、SPI、UART(Tx)

    外设的GPIO配置见【STM32F10XXX参考手册8.1.11章节】

    typedef enum
    { GPIO_Mode_AIN = 0x0,            //模拟输入
      GPIO_Mode_IN_FLOATING = 0x04,   //浮空输入
      GPIO_Mode_IPD = 0x28,           //下拉输入
      GPIO_Mode_IPU = 0x48,           //上拉输入
      GPIO_Mode_Out_OD = 0x14,        //开漏输出
      GPIO_Mode_Out_PP = 0x10,        //推挽输出
      GPIO_Mode_AF_OD = 0x1C,         //复用开漏输出
      GPIO_Mode_AF_PP = 0x18          //复用推挽输出
    }GPIOMode_TypeDef;
    

2.GPIO保护二极管(FT5V容忍)

为了防止芯片被外部过高或者过低的输入电压烧坏,STM32内置保护二极管,当引脚输入电压高于VDD-FT(FT标识代表可以容忍5V电压,不同的引脚对电压的容忍值不同,需要在芯片数据手册上查找,见下图)时上方的二极管导通,当引脚电压低于Vss时,下方的二极管导通,这样就可以防止不正常的电压引入芯片导致芯片烧毁
image-20220922134624978

3.GPIO端口复用

为了最大限度的利用端口资源,STM32的大部分端口都具有复用功能。

所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚,比如P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值