关于Stm32_XXX_StructInit和XXX_Init()关系

1.void XXX_StructInit(XXX_InitTypeDef* XXX_InitStruct)函数功能是将结构体XXX_InitStruct中的参数设置为默认值;
2.void XXX_Init(XXX_InitTypeDef* XXX_InitStruct) 功能是将结构体XXX_InitStruct中的参数设置到Register中;
3.通过观察发现XXX_InitStruct需要设置的参数,都可以在函数
void XXX_StructInit(XXX_InitTypeDef* XXX_InitStruct)中找到,这样可以快速的知道XXX功能哪些参数需要设置.
例如 GPIO设置

/**
* @brief  Fills each GPIO_InitStruct member with its default value.
* @param  GPIO_InitStruct : pointer to a GPIO_InitTypeDef structure which will be initialized.
* @retval None
*/
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct)
{
	/* Reset GPIO init structure parameters values */
	GPIO_InitStruct->GPIO_Pin  = GPIO_Pin_All;
	GPIO_InitStruct->GPIO_Mode = GPIO_Mode_IN;
	GPIO_InitStruct->GPIO_Speed = GPIO_Speed_2MHz;
	GPIO_InitStruct->GPIO_OType = GPIO_OType_PP;
	GPIO_InitStruct->GPIO_PuPd = GPIO_PuPd_NOPULL;
}       

void MyInitGpio(void)
{	
	GPIO_InitTypeDef GPIO_InitStructure;

	RCC_AHB1PeriphClockCmd ( RCC_AHB1Periph_GPIOA, ENABLE); 

	// 下面这些参数都可以在GPIO_StructInit中找到 ============================
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;	
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;    
	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; 

	GPIO_Init(GPIOA, &GPIO_InitStructure);	
}

Just For Fun!!!

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值