STM32_GPIO
  PKSBSP94NmYK 2023年11月02日 17 0

一、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);
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  PKSBSP94NmYK   2023年11月02日   18   0   0 上拉复用上拉电阻
  BzkyYTGW6Epa   2023年11月02日   34   0   0 NAT复用IP