Fix spurious interrupts from STM32 ORE (#456)

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
This commit is contained in:
Steve Karg
2023-07-17 13:49:40 -05:00
committed by GitHub
parent fcc9647983
commit 7db03ac5e5
2 changed files with 12 additions and 11 deletions
+9 -11
View File
@@ -110,17 +110,9 @@ bool rs485_receive_error(void)
return false;
}
/*********************************************************************/ /**
* @brief
*USARTx
*interrupt
*handler
*sub-routine
* @param[in]
*None
* @return
*None
**********************************************************************/
/**
* @brief USARTx interrupt handler sub-routine
*/
void USART2_IRQHandler(void)
{
uint8_t data_byte;
@@ -130,6 +122,12 @@ void USART2_IRQHandler(void)
data_byte = USART_ReceiveData(USART2);
(void)FIFO_Put(&Receive_Buffer, data_byte);
}
if (USART_GetFlagStatus(USART2, USART_FLAG_ORE) != RESET) {
/* note: enabling RXNE interrupt also enables the ORE interrupt! */
/* dummy read to clear error state */
data_byte = USART_ReceiveData(USART2);
USART_ClearFlag(USART2, USART_FLAG_ORE);
}
}
/*************************************************************************