STM32 HAL库开发学习(GPIO)

1、什么是GPIO

General Purpose Input Outpu,通用输入输出端口,负责采集外部器件信息或者控制外部器件工作。

2、STM32 GPIO

  • 每个IO口都可以做中断
  • STM32工作电压:2V <= VDD <=3.6V
  • COMS端口与TTL端口
  • 单个IO,最大25mA
  • 每组最多16个IO接口

3、IO端口基本结构

在这里插入图片描述

3.1 保护电路

通过二极管的特性控制输入的电压高电平保护实例

3.2 上下拉电阻

在这里插入图片描述
弱上拉,电流较小

3.3 施密特触发器

在这里插入图片描述
将输入的信号转化为方波信号

3.4 P-MOS&N- MOS管

在这里插入图片描述
当栅极与源极存在电压差时导通

4 GPIO的八种模式

在这里插入图片描述

4.1 输入浮空

在这里插入图片描述

4.2 输入上拉

在这里插入图片描述

4.3 输入下拉

在这里插入图片描述

4.4模拟功能

在这里插入图片描述

4.5 开漏输出

在这里插入图片描述
在这里插入图片描述
由于施耐特触发器为开启状态,故能输入

4.6 开漏式复用功能

在这里插入图片描述
在这里插入图片描述

与开漏输出的不同是没有用到ODR寄存器,而是片上外设控制

4.7 推挽输出

在这里插入图片描述
在这里插入图片描述
驱动能力强直接使用VDD进行输出

4.8 推挽复用式输出

在这里插入图片描述
类比开漏输出以及开漏复用式输出,根据由寄存器控制或外设控制进行区分

5 GPIO寄存器

在这里插入图片描述
具体的配置信息可以参考stm手册

5.1 CRL、CRH

在这里插入图片描述
在这里插入图片描述
通过ODR寄存器来控制是上拉还是下拉输入,对应每一个位来区分上下拉

5.2 IDR、ODR寄存器

低十六位用于数据,仅支持字数据

5.3 BSRR寄存器

在这里插入图片描述
用于间接控制ODR寄存器。高位复位,低位是置位
在这里插入图片描述

6 通用外设驱动模型

在这里插入图片描述

7 GPIO配置步骤

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值