54 #ifdef HAL_USART_MODULE_ENABLED 57 #if defined(USART_CR1_FIFOEN) 59 #define RX_FIFO_DEPTH 8U 62 #define TX_FIFO_DEPTH 8U 69 #if defined(USART_CR1_FIFOEN) 102 #if defined(USART_CR1_FIFOEN) 159 #if defined(USART_CR2_SLVEN) 188 tmpcr1 = READ_REG(husart->
Instance->CR1);
191 __HAL_USART_DISABLE(husart);
197 CLEAR_BIT(husart->
Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
200 SET_BIT(husart->
Instance->CR2, USART_CR2_SLVEN);
203 WRITE_REG(husart->
Instance->CR1, tmpcr1);
205 husart->
SlaveMode = USART_SLAVEMODE_ENABLE;
210 __HAL_USART_ENABLE(husart);
236 tmpcr1 = READ_REG(husart->
Instance->CR1);
239 __HAL_USART_DISABLE(husart);
245 WRITE_REG(husart->
Instance->CR1, tmpcr1);
247 husart->
SlaveMode = USART_SLAVEMODE_ENABLE;
285 tmpcr1 = READ_REG(husart->
Instance->CR1);
288 __HAL_USART_DISABLE(husart);
294 WRITE_REG(husart->
Instance->CR1, tmpcr1);
305 #if defined(USART_CR1_FIFOEN) 324 tmpcr1 = READ_REG(husart->
Instance->CR1);
327 __HAL_USART_DISABLE(husart);
330 SET_BIT(tmpcr1, USART_CR1_FIFOEN);
331 husart->
FifoMode = USART_FIFOMODE_ENABLE;
334 WRITE_REG(husart->
Instance->CR1, tmpcr1);
365 tmpcr1 = READ_REG(husart->
Instance->CR1);
368 __HAL_USART_DISABLE(husart);
372 husart->
FifoMode = USART_FIFOMODE_DISABLE;
375 WRITE_REG(husart->
Instance->CR1, tmpcr1);
412 tmpcr1 = READ_REG(husart->
Instance->CR1);
415 __HAL_USART_DISABLE(husart);
424 WRITE_REG(husart->
Instance->CR1, tmpcr1);
461 tmpcr1 = READ_REG(husart->
Instance->CR1);
464 __HAL_USART_DISABLE(husart);
473 WRITE_REG(husart->
Instance->CR1, tmpcr1);
496 #if defined(USART_CR1_FIFOEN) 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];
HAL_StatusTypeDef HAL_USARTEx_DisableSlaveMode(USART_HandleTypeDef *husart)
Disable the SPI slave mode.
__IO HAL_USART_StateTypeDef State
static void USARTEx_SetNbDataToProcess(USART_HandleTypeDef *husart)
Calculate the number of data to process in RX/TX ISR.
HAL_StatusTypeDef HAL_USARTEx_SetTxFifoThreshold(USART_HandleTypeDef *husart, uint32_t Threshold)
Set the TXFIFO threshold.
This file contains all the functions prototypes for the HAL module driver.
HAL_StatusTypeDef HAL_USARTEx_ConfigNSS(USART_HandleTypeDef *husart, uint32_t NSSConfig)
Configure the Slave Select input pin (NSS).
HAL_StatusTypeDef HAL_USARTEx_EnableSlaveMode(USART_HandleTypeDef *husart)
Enable the SPI slave mode.
HAL_StatusTypeDef HAL_USARTEx_DisableFifoMode(USART_HandleTypeDef *husart)
Disable the FIFO mode.
void HAL_USARTEx_TxFifoEmptyCallback(USART_HandleTypeDef *husart)
USART TX Fifo empty callback.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
USART handle Structure definition.
uint16_t NbTxDataToProcess
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
HAL_StatusTypeDef HAL_USARTEx_EnableFifoMode(USART_HandleTypeDef *husart)
Enable the FIFO mode.
void HAL_USARTEx_RxFifoFullCallback(USART_HandleTypeDef *husart)
USART RX Fifo full callback.
HAL_StatusTypeDef HAL_USARTEx_SetRxFifoThreshold(USART_HandleTypeDef *husart, uint32_t Threshold)
Set the RXFIFO threshold.
uint16_t NbRxDataToProcess
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))