笔记3:STM32 ---GPIO的基本知识

一.简介:
GPIO:general purpose input output,通用输入输出端口,简单的来说也就是软件可控制的引脚,可以通过软件控制输出1或者0,STM32的GPIO引脚与外部设备连接起来,从而实现与外部通讯,控制与数据采集的功能。
GPIO与引脚的区别:GPIO属于引脚的一部分,但是不是所有的引脚都可以充当GPIO。
在这里插入图片描述
GPIO功能:STM32F4XX英文数据手册
在这里插入图片描述
pin:表示贴片封装
ball:表示DIP双列直插
引脚分类:
在这里插入图片描述
STM32里面除开ADC I/O是3.3V,其他I/O都是5V容忍。5V容忍是说另外一个芯片如果是5V供电,即使STM32是3.3V供电,他们也是可以通信的。
二.功能框图介绍
1.施密特功能:将实际电压变成1或者0,即为整型作用,规定电压>1.8V为1,高电平,低于该数值为0,低电平。
在这里插入图片描述
2.设置端口模式:输入/输出/复用/模拟
在这里插入图片描述
复用是指的是功能的复用,例如引脚可以做数字IO,可以做模拟IO,可以做串口引脚,可以做IIC引脚等等。引脚可以输入模式,可以输出模式,这并不叫复用。
3.输出模式:
在这里插入图片描述
推挽输出(复位状态,默认状态):I/O口可以输出0和1,驱动能力强。驱动能力是因为MOS管内阻很小,驱动的电流就很大。
在这里插入图片描述
开漏输出:只能输出低电平,若想要输出高电平,必须外加电阻和VDD.
在这里插入图片描述
4.STM32如何输出5V:利用开漏输出,输入与输出反向,即输入为0,输出为1;输入为1,输出为0。若想输出同向,则再加一个三极管。
在这里插入图片描述
三.库函数编程过程
1.确定GPIO端口模式:输入或者输出或复用或模拟(模式寄存器:MODER)
2.,如果是输出,还要配置是推挽还是开漏(输出类型寄存器:OTYPER)
3.配置输出的速度(输出速度寄存器:OSPEEDR)
4.输出的时候内部上拉电阻要不要开启(上拉下拉寄存器:PUPDR)
5.具体要输出的内容(置位复位寄存器:BSRR/数据输出寄存器:ODR),BSRR中的配置内容最终还是输入到ODR中。
GPIO初始化结构体(库函数操作):

typedef struct
{
  uint32_t GPIO_Pin;              //设置引脚

  GPIOMode_TypeDef GPIO_Mode;     //设置模式:输入模式,输出模式,复用模式,模拟模式

  GPIOSpeed_TypeDef GPIO_Speed;   //GPIO的引脚速度
  
  GPIOOType_TypeDef GPIO_OType;   //输出模式有分为开漏输出,推挽输出

  GPIOPuPd_TypeDef GPIO_PuPd;     //该引脚是否选择上拉或着下拉
}GPIO_InitTypeDef;
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值