stm32之gpio输入输出理论知识讲解

GPIO(General Purpose Input  Output)通用输入输出口

可以配置8种输入输出模式

引脚电平0v-3.3v,部分引脚可容忍5v

输入模式下可控制端口输出高低电平,用以驱动led、控制蜂鸣器、模拟通信协议输出时序等

输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、adc电压采集、模拟通信协议接收数据等。

在STM32中所有的gpio都是挂载在APB2外设总线上的GPIO外设名称是按照GPIOA GPIOB GPOC这样来命名的。每个GPIO有16个引脚编号是从0到15.GPIO模块内包含了寄存器和驱动器,内核可以通过APB2总线对寄存器进行读写,进而实现读取电平和输出电平功能。寄存器的每一位对应每一个引脚,因此我们要对每一个引脚进行寄存器的配置1,为高电平0为低电平。STM32是32位的单片机,因此其内部寄存器都是32位的,但因为只有16个引脚,所以只有低16位有对应的端口。驱动器是增加驱动能力的,寄存器负责存储内部c程序。

 上图中的io引脚,这里接了两个保护二极管,这个是对输入电压进行限幅的(保护保护,故名思意就是起保护作用的)。如果该io口的引脚输入的电压比3.3v还要高,那上方这里的二极管就会导通,输入电压产生的电流就会直接流入vdd而不会流入内部电路,起到保护作用。如果输入的电压是负电压,电流就会从vss直接流出去。总之保护二极管是保护电路的。如果输入电压在0-3.3v之间,那么两个二极管均不会导通。

上图开关连接了一个上拉电阻和下拉电阻 如果上面导通下面

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值