STM32_GPIO

一、GPIO

GPI0是通用输入输出端口的简称,GPIO最基本的功能就输入和输出。它也是芯片内部与外部电路连接的唯一的接口。STM32是一个很复杂的系统,内部外设繁多,GPIO的基本功能满足不了这么多外设的需求,芯片厂商为了解决此问题,将GPI0分为八种模式(输入4种+输出4种)。

二、八种模式

  • 输入浮空 GPIO_Mode_IN_FLOATING
  • 输入上拉 GPIO_Mode_IPU
  • 输入下拉 GPIO_Mode_IPD
  • 模拟输入 GPIO_Mode_AIN
  • 具有上拉或下拉功能的开漏输出 GPIO_Mode_Out_OD
  • 具有上拉或下拉功能的推挽输出 GPIO_Mode_Out_PP(普通的高低电平输出)
  • 具有上拉或下拉功能的复用功能推挽 GPIO_Mode_AF_PP
  • 具有上拉或下拉功能的复用功能开漏 GPIO_Mode_AF_OD
    1、浮空输入GPIO_IN_FLOATING ——浮空输入,可以做KEY识别,RX1。
    2、带上拉输入GPIO_IPU——IO内部上拉电阻输入。
    3、带下拉输入GPIO_IPD—— IO内部下拉电阻输入。
    4、模拟输入GPIO_AIN ——应用ADC模拟输入,或者低功耗下省电。
    5、开漏输出GPIO_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能。
    6、推挽输出GPIO_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的。
    7、复用功能的推挽输出GPIO_AF_PP ——片内外设功能(I2C的SCL,SDA)。
    8、复用功能的开漏输出GPIO_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)。

三、配置步骤

  • 定义GPIO的初始化结构体类型
  • 使能GPIO的时钟
  • 配置GPIO的引脚
  • 配置GPIO口的输出类型为推挽
  • 配置GPIO口的输出速度
  • 初始化GPIO(初始化相应的寄存器)
void LED_Init()
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
	
    GPIO_InitStructure.GPIO_Pin=(GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOC,&GPIO_InitStructure);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

root@z~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值