stm32f407 PD8 进不了外部中断

2019-07-20 09:06发布

void EXTIX_Init(void)
{

        GPIO_InitTypeDef  GPIO_InitStructure;
        NVIC_InitTypeDef   NVIC_InitStructure;
        EXTI_InitTypeDef   EXTI_InitStructure;
       
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100M
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_Init(GPIOD, &GPIO_InitStructure);
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
       
        SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD, EXTI_PinSource8);

    EXTI_InitStructure.EXTI_Line = EXTI_Line8;
    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 = EXTI9_5_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
                          
}
void EXTI9_5_IRQHandler(void)
{
       
        EN_ADM3=0;
        SD_ADM3=1;
EXTI_ClearITPendingBit(EXTI_Line8);
}

问题出在哪呢


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
漫步xw
1楼-- · 2019-07-20 10:01
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-20 10:14
看起来没错,在中断服务函数里面,判断下中断标志,再做处理,试试
漫步xw
3楼-- · 2019-07-20 15:50
 精彩回答 2  元偷偷看……
正点原子
4楼-- · 2019-07-20 16:04
漫步xw 发表于 2018-3-19 14:40
解决了,参考了网上的一个程序,一步步对下来。[mw_shl_code=applescript,true]
void EXTI9_5_IRQHandler( ...

谢谢分享

一周热门 更多>