该函数原型是这样的:
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
功能描述: 根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器
输入参数1: GPIOx:x可以是A,B,C,D或者E,选择GPIO外设
输入参数2: GPIO_InitStruct:指向结构GPIO_InitTypeDef的指针,包含了外设GPIO的配置信息
主函数开头我们进行了这样一个私有数据声明:GPIO_InitTypeDef GPIO_InitStructure;
在头文件“stm32f10x_gpio.h”看到对GPIO_InitTypeDef 的定义:
typedef struct
{
uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured.
This parameter can be any value of @ref GPIO_pins_define */
GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins.
This parameter can be a value of @ref GPIOSpeed_TypeDef */
GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins.
This parameter can be a value of @ref GPIOMode_TypeDef */
}GPIO_InitTypeDef;
在前面已经对GPIO_InitTypeDef中的各个参数进行了定义,对应的正是void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)输入参数2的描述“指向结构GPIO_InitTypeDef的指针,包含了外设GPIO的配置信息”。
具体函数分析:http://blog.chinaunix.net/uid-27021180-id-3230782.html