cancel
Showing results for 
Search instead for 
Did you mean: 

How many EXTI lines in G0 ? (36 in RM and 37 in HAL/LL)

Nikita91
Lead II

The RM0444 Rev5 show 36 EXTI lines in Table 62.

The HAL code defines up to 37 lines:

/**
  * @brief  EXTI Line number
  */
#if defined(STM32G0C1xx) || defined(STM32G0B1xx)
#define EXTI_LINE_NB                        37uL
#elif defined(STM32G0B0xx)
#define EXTI_LINE_NB                        37uL
#elif defined(STM32G081xx) || defined(STM32G071xx)
#define EXTI_LINE_NB                        34uL
#elif defined(STM32G070xx)
#define EXTI_LINE_NB                        34uL
#elif defined(STM32G041xx) || defined(STM32G031xx)
#define EXTI_LINE_NB                        32uL
#else
#define EXTI_LINE_NB                        32uL
#endif

Where can I found some info on the missing line ?

Another question:

Where can I found a table with the correspondences between the EXTI lines numbers and the interrupt numbers?

There is only some lines documented in the NVIC chapter.

I am particularly looking for EXTI 20, 29, 30, 31, 35, 36

Thank you

5 REPLIES 5

The direct events do not have an associated EXTI interrupt. The EXTI only wakes up the system and CPU sub-system clocks and may generate a CPU wakeup event. The peripheral synchronous interrupt, associated with the direct wakeup event wakes up the CPU.

Pretty sure the ones you cite are flagged as "DIRECT" in the EXTI section

The NB is presumably 0 thru 36, being 37 in number

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Nikita91
Lead II

What mean these lines in stm32g071xx.h:

  I2C1_IRQn                   = 23,     /*!< I2C1 Interrupt  (combined with EXTI 23)                           */
  USART3_4_LPUART1_IRQn       = 29,     /*!< USART3, USART4 and LPUART1 globlal Interrupts (combined with EXTI 28) */
  CEC_IRQn                    = 30      /*!< CEC Interrupt(combined with EXTI 27)                               *

EXTI 23, 28, 27 are Direct, but mentioned in the IRQ list. What mean "combined with EXTI" ?

The RM lists EXTI from 0 to 35, so 36 EXTI lines. The AHL defines 0 to 36 => 37 EXTI lines...

#if defined(LPUART2)
#define EXTI_LINE_35                        (EXTI_DIRECT   | EXTI_REG2 | 0x03u)
#else
#define EXTI_LINE_35                        (EXTI_RESERVED | EXTI_REG2 | 0x03u)
#endif
#if defined(STM32G0C1xx) || defined(STM32G0B1xx) || defined(STM32G0B0xx)
#define EXTI_LINE_36                        (EXTI_DIRECT | EXTI_REG2 | 0x04u)
#endif

The RM0444 is for STM32G0x1, so it is also for STM32G0C1xx

>>What mean "combined with EXTI" ?

That the IRQ Handler is invoked if the PERIPHERAL or the EXTI signal (figure an AND or OR gate depending on the normal state of those pins/signals)

Half expect COMP3 (which has sketchy coverage in the RM) to dump out to ADC1_COMP_IRQHandler

Perhaps

29 LPTIM1 TIM6_DAC_LPTIM1_IRQHandler

30 LPTIM2 TIM7_LPTIM2_IRQHandler

Yeah, the docs/source is pretty horrific.. one of those cases where ST seem to comingle several IC die into one Reference Manual

and that the CM0(+) has very limited NVIC

@Imen DAHMEN​ 

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Imen.D
ST Employee

Hello,

Thanks @Nikita91​ and @Community member​ for pointing out this issue.

I will check this and take the necessary action for fix.

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Imen.D
ST Employee

It seems that USB wakeup line is in RM. I raised your feedback to the Doc Owner to fix this in the coming RM revisions.

Thanks for noticing it.

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen