今天写GPIO时候遇到一个问题,用按键控制LED灯,KEY的GPIO配置如下:
void KeyInit(void){
GPIO_InitTypeDef *GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStruct->GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStruct->GPIO_Pin = KEY1 | KEY2;
// GPIO_InitStruct->GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(KEYPORT,GPIO_InitStruct);
}
编译通过但是按下按键以后LED 没有反应,把GPIO_InitTypeDef *GPIO_InitStruct;改成一个结构体如下:
void KeyInit(void){
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStruct.GPIO_Pin = KEY1 | KEY2;
// GPIO_InitStruct->GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(KEYPORT,&GPIO_InitStruct);
}
成功控制LED,这是为什么呢?