新手上路
- 积分
- 34
- 金钱
- 34
- 注册时间
- 2018-6-28
- 在线时间
- 33 小时
|
5金钱
以下是我写的中断函数,可是中断就是进不去,debug下EXTI的各个寄存器也都是0,请大神求助RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC | RCC_AHBPeriph_GPIOD| RCC_AHBPeriph_GPIOF, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
GPIO_CFG( 38 , _IN_IO , P_UP); //按键配置包含在这里面,无问题,按键时寄存器的值能正常改变
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource7);
EXTI_InitStructure.EXTI_Line = EXTI_Line7;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI4_15_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
void EXTI4_15_IRQHandler(void)
{
int i,j;
if(EXTI_GetITStatus(EXTI_Line7)==SET)
{
delay_us(10000);
EXTI_ClearITPendingBit(EXTI_Line7);
for(j=0;j<500;j++)
{
for(i=0;i<2;i++)
{
if(i==0)
DAC_Control_forward();
else
DAC_Control_reverse();
DAC_SPEED(0);
delay_us(10000);
}
}
}
}
中断函数一直不能执行,请大神们看看是不是中断配置的那个位置出了问题
|
|