Idle callback support for STM32 USARTv1 UART driver.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13211 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
Giovanni Di Sirio 2019-12-05 19:06:49 +00:00
parent ca1ef7a4cd
commit ed07403b31
3 changed files with 11 additions and 0 deletions

View File

@ -348,6 +348,10 @@ static void serve_usart_irq(UARTDriver *uartp) {
/* End of transmission, a callback is generated.*/
_uart_tx2_isr_code(uartp);
}
/* Timeout interrupt sources are only checked if enabled in CR1.*/
if ((cr1 & USART_CR1_IDLEIE) && (sr & USART_SR_IDLE))
_uart_timeout_isr_code(uartp);
}
/*===========================================================================*/

View File

@ -603,6 +603,12 @@ typedef struct {
*/
uartecb_t rxerr_cb;
/* End of the mandatory fields.*/
/**
* @brief Receiver timeout callback.
* @details Handles idle interrupts depending on configured
* flags in CR registers and supported hardware features.
*/
uartcb_t timeout_cb;
/**
* @brief Bit rate.
*/

View File

@ -74,6 +74,7 @@
*****************************************************************************
*** Next ***
- HAL: Idle callback support for STM32 USARTv1 UART driver.
- LIB: Added support for asynchronous jobs queues to OSLIB.
- LIB: Added support for delegate threads to OSLIB.
- NIL: Improvements to messages, new functions chMsgWaitS(),