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?
:
Bearbeitet durch User
Johannes B. schrieb: > Welches EXTI-Interrupt muss ich also für den PB11 zuweisen, oder ist das > überhaupt möglich? EXTI15_10_IRQn Ab 5 aufwärts sind immer mehrere Pins zusammengefasst. Das ist in der Tat irgendwie sehr eigenwillig gelöst bei STM32Fxxx.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.