金牌会员
 
- 积分
- 1898
- 金钱
- 1898
- 注册时间
- 2012-10-28
- 在线时间
- 357 小时
|

楼主 |
发表于 2012-11-26 17:43:23
|
显示全部楼层
回复【2楼】正点原子:
---------------------------------
void Set_KeyInt(void) //将按键设置成中断方式
{
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
/* Connect EXTI Line13 to  B13 pin */
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB, EXTI_PinSource13);
/* Configure  B13 pin in input mode */
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP; //设置的是上啦,而且外部还佳了10k电阻上啦到vcc(3.3v)
GPIO_Init(GPIOB,&GPIO_InitStruct);
EXTI_InitStructure.EXTI_Line = EXTI_Line13;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下降沿触发
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; //抢占优先级设置,值越大,表示优先级越低
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; //响应优先级设置,值越大,表示优先级越低
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
} |
|