C STM32F4在一个功能上配置exti端口中断

C STM32F4在一个功能上配置exti端口中断,c,interrupt,stm32,C,Interrupt,Stm32,我为8个管脚配置了gpio和exti处理器配置(PD8、PD9…PD15)每个管脚都有单独的配置功能,工作正常。我可以只在一个功能上进行配置吗?有些线路使用相同的irq通道,这是问题吗?我想这样使用它(语法不重要,你可以说它是可能的) 您可以在一行中初始化所有GPIO引脚,这是安全的。您不能在一行中完成对SYSCFG\u EXTILineConfig的所有调用,这是不允许的。原因是EXTI\u PinSourceN值是数值常量,而不是位掩码。请参见stm32f4xx\u syscfg.h以获取参

我为8个管脚配置了
gpio
exti
处理器配置
(PD8、PD9…PD15)
每个管脚都有单独的配置功能,工作正常。我可以只在一个功能上进行配置吗?有些线路使用相同的irq通道,这是问题吗?我想这样使用它(语法不重要,你可以说它是可能的)

您可以在一行中初始化所有GPIO引脚,这是安全的。您不能在一行中完成对SYSCFG\u EXTILineConfig的所有调用,这是不允许的。原因是
EXTI\u PinSourceN
值是数值常量,而不是位掩码。请参见
stm32f4xx\u syscfg.h
以获取参考

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 |
                                 GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15);    

  GPIO_Init(GPIOD, &GPIO_InitStructure);

  SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD,EXTI_PinSource8 | EXTI_PinSource9| 
                                              EXTI_PinSource10| EXTI_PinSource11| 
                                               EXTI_PinSource12| EXTI_PinSource13| 
                                                 EXTI_PinSource14| EXTI_PinSource15);

  /* Configure EXTI Line0 */
  EXTI_InitStructure.EXTI_Line = EXTI_Line15;
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_Init(&EXTI_InitStructure);