微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32 PB6设置的下降沿,但是PB6上升沿和下降沿都触发中断。请帮忙看看配置有问题吗?

STM32 PB6设置的下降沿,但是PB6上升沿和下降沿都触发中断。请帮忙看看配置有问题吗?

时间:10-02 整理:3721RD 点击:
PB6上升沿和下降沿都触发中断。PF7正常
void EXTI_Config(void)
{        
        EXTI_InitTypeDef EXTI_InitStructure;               
        NVIC_InitTypeDef NVIC_InitStructure;
        GPIO_InitTypeDef  GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
        
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF,ENABLE);
   //======================================================         
         GPIO_InitStructure.GPIO_Pin  =  GPIO_Pin_6;                       
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource6);                          
        EXTI_InitStructure.EXTI_Line = EXTI_Line6;                                                
        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;                              
        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;                             
        EXTI_InitStructure.EXTI_LineCmd = ENABLE;                                                                                      
        EXTI_Init(&EXTI_InitStructure);                        
//---------------------------------------
         GPIO_InitStructure.GPIO_Pin  =  GPIO_Pin_7;                        
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;                  
        GPIO_Init(GPIOF, &GPIO_InitStructure);
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOF, GPIO_PinSource7);                          
        EXTI_InitStructure.EXTI_Line = EXTI_Line7;                                               
        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;                                                   
        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;                       
        EXTI_InitStructure.EXTI_LineCmd = ENABLE;                                                                                      
        EXTI_Init(&EXTI_InitStructure);                     
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                                               
        NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;                                    
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;                    
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;                                    
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                                             
        NVIC_Init(&NVIC_InitStructure);                                                                           
}

     GPIO_InitStructure.GPIO_Pin  =  GPIO_Pin_6;                       
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;
GPIO_InitStructure.GPIO_Pin  =  GPIO_Pin_7;                        
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;               
一个上拉 ,一个浮空?

确定PB6上升沿和下降沿都触发中断吗,这里设置的两个引脚都属于同一个外部中断函数,在中断函数里有没有判断是哪一个引脚触发的中断。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top