cancel
Showing results for 
Search instead for 
Did you mean: 

Shared USART3_8_IRQHandler source differentiation

Christopher Rutherford
Associate II
Posted on April 10, 2017 at 12:24

Using the STM32 HAL API, I am using the HAL interrupt UART receive function 'HAL_UART_Receive_IT'.    In this case I am using UART6, because of this I have to use shared uart 3-8 interrupt handler 'USART3_8_IRQHandler(void)'.  If I wanted to use UART 4 and UART 6, when in the IRQ handler, how would I determine the UART source, so that I can correctly deal with the UART's data? 

Edit: Using STM32f091.

This discussion is locked. Please start a new topic to ask your question.
1 REPLY 1
Jack Peacock
Associate II
Posted on April 10, 2017 at 13:53

Look at the SCB->ICSR register.  The low 9 bits contain the interrupt vector, which will identify the USART requesting service.  You have to subtract 16 to skip the core vectors.

  Jack Peacock

Announcement

We’re moving the ST Community to a new platform to give you a better and more reliable community experience.