GPIO初始化参数结构体如下:
typedef struct{
uint16_t GPIO_Pin;
GPIOSpeed_TypeDef GPIO_Speed;
GPIOMode_Typedef GPIO_Mode;
}GPIO_InitTypeDef;
其中三个参数分别为:端口号、端口速度、端口模式。该结构体的定义在stm32f10x_gpio.h文件中。用到的时候,一般只在头文件中包含进该.h文件,后直接用GPIO_InitTypeDef函数名即可调用该函数。
下面是调用该结构体实现接口初始化的实例:
void XXX_Init(void){ //XXX接口初始化
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);
}
其中GPIO_Mode如下图:
据不同需求选择相应mode。