中级会员
 
- 积分
- 365
- 金钱
- 365
- 注册时间
- 2018-3-21
- 在线时间
- 64 小时
|
3金钱
配置按键中断,PA0,以下是各项配置,编译也不出错,但是中断就是进不去,按下按键的状态为高电平,我用万用表量过了,[mw_shl_code=applescript,true]void NVIC_Configuration()
{
NVIC_InitTypeDef NVIC_InitStructure;
//éèÖÃÖD¶ÏóÅÏè¼¶·Ö×é
//ÅäÖÃÖD¶Ïí¨μ࣬Ôústm32l1xx.hÖD2éÕò
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void EXTI_Key_Init(void)
{
//GPIO EXTI ½á11ìå3õê¼»ˉ
GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
//ê1Äüê±ÖóSYSCFG
//PA0
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Speed= GPIO_Speed_40MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
//Ñ¡ÔñGPIOòy½Å×÷Îaía2¿ÖD¶ÏÏß
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0);
//EXTI0
EXTI_InitStructure.EXTI_Line=EXTI_Line0;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_InitStructure.EXTI_Mode =EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;//EXTI_Trigger_Rising_Falling;//EXTI_Trigger_Rising;//EXTI_Trigger_Falling;
EXTI_Init(&EXTI_InitStructure);
}
//ÖD¶Ï·tÎñoˉêyÃûêÇÏμí3¶¨òåμÄ£¬2»êÇèËÎaìí¼óμÄ£¬Ôústm32l1xx_hs.sÎļtÖD
void EXTI0_IRQHandler()
{
//¿aê¼μÄê±oòÑó3ùò»¶Îê±¼ä
delay_ms(50);
//
if(Key_user ==1)
{
LED4_ON;
}
EXTI_ClearITPendingBit(EXTI_Line0);
}
main.c
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
SystemInit();
uart_init();
delay_init(24);
LED_Init();
KEY_Init();
EXTI_Key_Init();
LED3_ON;
while(1)
{
}
}[/mw_shl_code]
按键的初始化什么的都没问题,就是进不去中断,请教一下,,我用的是stm32l152的板子
|
|