1、查看用户手册,查看gpio属于哪个外设使能寄存器管理
如图所示,我们开启的gpio属于APB2时钟控制,所以我们需要先配置APB2时钟,来开启gpio的时钟使能。
例如我们要使用GPIOC,则找到库中的stm32f10x_rcc.h中对APB2时钟配置的函数:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
配置GPIO C使能则:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
2、配置gpio结构体:
通过查找stm32f10x_gpio.h中对gpio结构体的定义:
typedef struct
{
uint16_t GPIO_Pin; //几号引脚
GPIOSpeed_TypeDef GPIO_Speed; //引脚速率
GPIOMode_TypeDef GPIO_Mode; //模式
}GPIO_InitTypeDef;
具体模式与速率,.h文件中都有对应的宏定义,我们根据需求来配置就好
/**
* 输出模式定义
*/
typedef enum
{
GPIO_Mode_AIN = 0x0, /* 模拟输入 */
GPIO_Mode_IN_FLOATING = 0x04, /* 输入浮空 */
GPIO_Mod