精心整理
一、先定义一个GPIO结构体:
GPIO_InitTypeDefGPIO_InitStructure;
二、打开相应端口时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOX,ENABLE);
X为A~E
三、设置单个IO口
GPIO_InitStructure.GPIO_Pin=(GPIO_Pin_X|GPIO_Pin_X|GPIO_Pin_X);
X为0~15
四、设置端口速度 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_XMHz; X位10,2,50 五、设置端口模式 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_X; GPIO_Mode_AIN=0x0,模拟输入 GPIO_Mode_IN_FLOATING=0x04,浮空输入 GPIO_Mode_IPD=0x28,下拉输入 GPIO_Mode_IPU=0x48,上拉输入 GPIO_Mode_Out_OD=0x14,普通开漏输出即0 GPIO_Mode_Out_PP=0x10,普通推挽输出即1 GPIO_Mode_AF_OD=0x1C,复合型开漏输出 GPIO_Mode_AF_PP=0x18复合型推挽输出 六、初始化对应的端口 GPIO_Init(GPIOX,&GPIO_InitStructure);X为上面设置的端口 使用模板 voidGPIO_Config(void) {
GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_x;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_xMHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_x; GPIO_Init(GPIOx,&GPIO_InitStructure); }
页脚内容