AnsweredAssumed Answered

STM32 USART interrupt problem

Question asked by andre on Dec 13, 2013
Latest reply on Dec 13, 2013 by andre
My application use EXTI1 interrupt, SPI1 interrupt and USART1(RXNE) interrupt. USART1 interrupt has highest priority. USART1_IRQHandler is very short, only storing incomming bytes to the circular buffer. When I disable EXTI1 and SPI1 interrupts and do some tests, communication over USART1 is OK (bytes is reading from circular buffer in the main loop). But when other interrupts are enabled (SPI1 and EXTI1, both with lower priority than USART1 interrupt), I lost incomming byte sometime. I am sure, that USART buffer did not overflow, but probably USART RXNE interrupt is missed somehow. uP runs on 72MHz and USART baud rate is 0.5Mbit. I think, that highest priority USART1 interrupt can break lower priority interrupt and do it's job "immediately", right? How long can take breaking of lower priority handler execution? Any other idea?