Welche EXTI Line für GPIO Interrupt?

OP #6288778
Lesenswert?

Hallo,

ich möchte mit der Cube HAL für einen STM32F4 einen GPIO mit externem 
Interrupt konfigurieren:

  GPIO_InitTypeDef GPIO;
  GPIO.Mode = GPIO_MODE_IT_RISING_FALLING;
  GPIO.Pull = GPIO_NOPULL;
  GPIO.Pin = GPIO_PIN_11;
  HAL_GPIO_Init(GPIOB, &GPIO);

  HAL_NVIC_SetPriority(EXTI0_IRQn, 2, 0);
  HAL_NVIC_EnableIRQ(EXTI0_IRQn);

Nun bin ich mir nicht sicher, welches EXTI Interrupt das richtige ist. 
Zur Auswahl stehen:

  EXTI0_IRQn = 6,      /*!< EXTI Line0 Interrupt*/
  EXTI1_IRQn = 7,      /*!< EXTI Line1 Interrupt*/
  EXTI2_IRQn = 8,      /*!< EXTI Line2 Interrupt*/
  EXTI3_IRQn = 9,      /*!< EXTI Line3 Interrupt*/
  EXTI4_IRQn = 10,     /*!< EXTI Line4 Interrupt*/

Soweit ich weiß, gibt es für jede Pin-Nummer ein eigenes EXTI-Interrupt, 
d.h. EXTI0_IRQn für Pins mit der Nummer 0,  EXTI1_IRQn für Pins mit der 
Nummer 1 und so weiter. Nun sind aber nur EXTI Lines von 0 bis 4 
definiert, was bedeuten würde, dass nur die GPIOs 0 bis 4 mit einem 
Interrupt verknüpft werden können.

In der standard peripheral library waren die EXTI Interrupts anders 
definiert:

   EXTI0_IRQn
   EXTI1_IRQn
   EXTI2_IRQn
   EXTI3_IRQn
   EXTI4_IRQn
   EXTI9_5_IRQn
   EXTI15_10_IRQn

Wie man sieht, gibt hier nach der 4 auch Definitionen für die Pins 5 bis 
9 und die Pins 10 bis 15. So kann jeder GPIO mit einem EXTI Interrupt 
konfiguriert werden.


Welches EXTI-Interrupt muss ich also für den PB11 zuweisen, oder ist das 
überhaupt möglich?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren