STM32F4函数分析-----GPIO_ID_Init函数原理分析

STM32F4函数分析

GPIO_ID_Init函数原理分析

/**************************************************************
*功能:GPIO(F/G/A/B/C/D/E)端口初始化
*参数:无
*返回值:无
**************************************************************/
void GPIO_ID_Init(void)
{
	GPIO_InitTypeDef  GPIO_InitStructure;

	RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE);	 	//使能要调用的端口时钟,此处以GPIOG PORTG端口举例

	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_IN;									//普通输入模式
	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;									//设置成上拉输入
	GPIO_Init(GPIOG, &GPIO_InitStructure);										//初始化GPIOG0...7(即PG0~PG7管脚)
}

以上为基本函数模块。

GPIO_InitTypeDef  //基本定义  
GPIO_InitStructure;  //调用结构体库函数
RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); 
/*此处为给使能信号ENABLE  
  RCC_AHB1Periph_GPIOG为需要给使能的端口,类似可以换为GPIOF/GPIOA/GPIOE等等
*/
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;
/*又臭又长 简单来说就是自己选择需要使用作为确定ID号端口,把想用做确定ID号的端口都或起来,或后的值作为ID号使用*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
/*Mode为需要使用的模式*/
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;	
/*PUPD依然为模式设置,具体设置按需要进行*/
GPIO_Init(GPIOG, &GPIO_InitStructure);										
/*初始化GPIOG0...7(即PG0~PG7管脚),Init为定义函数,简单来说就是初始化要引用的管脚*/

以上为庞大的库函数中一个具体函数的分析,仅仅为一小部分,具体模式设置需要查阅库函数文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值