Calculate the number of data to process in RX/TX ISR.
506 uint8_t rx_fifo_depth;
507 uint8_t tx_fifo_depth;
508 uint8_t rx_fifo_threshold;
509 uint8_t tx_fifo_threshold;
511 uint8_t numerator[] = {1U, 1U, 1U, 3U, 7U, 1U, 0U, 0U};
512 uint8_t denominator[] = {8U, 4U, 2U, 4U, 8U, 1U, 1U, 1U};
514 if (husart->
FifoMode == USART_FIFOMODE_DISABLE)
521 rx_fifo_depth = RX_FIFO_DEPTH;
522 tx_fifo_depth = TX_FIFO_DEPTH;
523 rx_fifo_threshold = (uint8_t)((READ_BIT(husart->
Instance->CR3, USART_CR3_RXFTCFG) >> USART_CR3_RXFTCFG_Pos) & 0xFFU);
524 tx_fifo_threshold = (uint8_t)((READ_BIT(husart->
Instance->CR3, USART_CR3_TXFTCFG) >> USART_CR3_TXFTCFG_Pos) & 0xFFU);
525 husart->
NbTxDataToProcess = ((uint16_t)tx_fifo_depth * numerator[tx_fifo_threshold]) / (uint16_t)denominator[tx_fifo_threshold];
526 husart->
NbRxDataToProcess = ((uint16_t)rx_fifo_depth * numerator[rx_fifo_threshold]) / (uint16_t)denominator[rx_fifo_threshold];
uint16_t NbTxDataToProcess
uint16_t NbRxDataToProcess