|
STM32L4xx_HAL_Driver
1.14.0
|
UART Transmit/Receive functions. More...
Functions | |
| HAL_StatusTypeDef | HAL_UART_Transmit (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
| Send an amount of data in blocking mode. More... | |
| HAL_StatusTypeDef | HAL_UART_Receive (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
| Receive an amount of data in blocking mode. More... | |
| HAL_StatusTypeDef | HAL_UART_Transmit_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) |
| Send an amount of data in interrupt mode. More... | |
| HAL_StatusTypeDef | HAL_UART_Receive_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) |
| Receive an amount of data in interrupt mode. More... | |
| HAL_StatusTypeDef | HAL_UART_Transmit_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) |
| Send an amount of data in DMA mode. More... | |
| HAL_StatusTypeDef | HAL_UART_Receive_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) |
| Receive an amount of data in DMA mode. More... | |
| HAL_StatusTypeDef | HAL_UART_DMAPause (UART_HandleTypeDef *huart) |
| Pause the DMA Transfer. More... | |
| HAL_StatusTypeDef | HAL_UART_DMAResume (UART_HandleTypeDef *huart) |
| Resume the DMA Transfer. More... | |
| HAL_StatusTypeDef | HAL_UART_DMAStop (UART_HandleTypeDef *huart) |
| Stop the DMA Transfer. More... | |
| HAL_StatusTypeDef | HAL_UART_Abort (UART_HandleTypeDef *huart) |
| Abort ongoing transfers (blocking mode). More... | |
| HAL_StatusTypeDef | HAL_UART_AbortTransmit (UART_HandleTypeDef *huart) |
| Abort ongoing Transmit transfer (blocking mode). More... | |
| HAL_StatusTypeDef | HAL_UART_AbortReceive (UART_HandleTypeDef *huart) |
| Abort ongoing Receive transfer (blocking mode). More... | |
| HAL_StatusTypeDef | HAL_UART_Abort_IT (UART_HandleTypeDef *huart) |
| Abort ongoing transfers (Interrupt mode). More... | |
| HAL_StatusTypeDef | HAL_UART_AbortTransmit_IT (UART_HandleTypeDef *huart) |
| Abort ongoing Transmit transfer (Interrupt mode). More... | |
| HAL_StatusTypeDef | HAL_UART_AbortReceive_IT (UART_HandleTypeDef *huart) |
| Abort ongoing Receive transfer (Interrupt mode). More... | |
| void | HAL_UART_IRQHandler (UART_HandleTypeDef *huart) |
| Handle UART interrupt request. More... | |
| void | HAL_UART_TxHalfCpltCallback (UART_HandleTypeDef *huart) |
| Tx Half Transfer completed callback. More... | |
| void | HAL_UART_TxCpltCallback (UART_HandleTypeDef *huart) |
| Tx Transfer completed callback. More... | |
| void | HAL_UART_RxHalfCpltCallback (UART_HandleTypeDef *huart) |
| Rx Half Transfer completed callback. More... | |
| void | HAL_UART_RxCpltCallback (UART_HandleTypeDef *huart) |
| Rx Transfer completed callback. More... | |
| void | HAL_UART_ErrorCallback (UART_HandleTypeDef *huart) |
| UART error callback. More... | |
| void | HAL_UART_AbortCpltCallback (UART_HandleTypeDef *huart) |
| UART Abort Complete callback. More... | |
| void | HAL_UART_AbortTransmitCpltCallback (UART_HandleTypeDef *huart) |
| UART Abort Complete callback. More... | |
| void | HAL_UART_AbortReceiveCpltCallback (UART_HandleTypeDef *huart) |
| UART Abort Receive Complete callback. More... | |
UART Transmit/Receive functions.
===============================================================================
##### IO operation functions #####
===============================================================================
This subsection provides a set of functions allowing to manage the UART asynchronous
and Half duplex data transfers.
(#) There are two mode of transfer:
(+) Blocking mode: The communication is performed in polling mode.
The HAL status of all data processing is returned by the same function
after finishing transfer.
(+) Non-Blocking mode: The communication is performed using Interrupts
or DMA, These API's return the HAL status.
The end of the data processing will be indicated through the
dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
using DMA mode.
The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
will be executed respectively at the end of the transmit or Receive process
The HAL_UART_ErrorCallback()user callback will be executed when a communication error is detected
(#) Blocking mode API's are :
(+) HAL_UART_Transmit()
(+) HAL_UART_Receive()
(#) Non-Blocking mode API's with Interrupt are :
(+) HAL_UART_Transmit_IT()
(+) HAL_UART_Receive_IT()
(+) HAL_UART_IRQHandler()
(#) Non-Blocking mode API's with DMA are :
(+) HAL_UART_Transmit_DMA()
(+) HAL_UART_Receive_DMA()
(+) HAL_UART_DMAPause()
(+) HAL_UART_DMAResume()
(+) HAL_UART_DMAStop()
(#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
(+) HAL_UART_TxHalfCpltCallback()
(+) HAL_UART_TxCpltCallback()
(+) HAL_UART_RxHalfCpltCallback()
(+) HAL_UART_RxCpltCallback()
(+) HAL_UART_ErrorCallback()
(#) Non-Blocking mode transfers could be aborted using Abort API's :
(+) HAL_UART_Abort()
(+) HAL_UART_AbortTransmit()
(+) HAL_UART_AbortReceive()
(+) HAL_UART_Abort_IT()
(+) HAL_UART_AbortTransmit_IT()
(+) HAL_UART_AbortReceive_IT()
(#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Callbacks are provided:
(+) HAL_UART_AbortCpltCallback()
(+) HAL_UART_AbortTransmitCpltCallback()
(+) HAL_UART_AbortReceiveCpltCallback()
(#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
Errors are handled as follows :
(+) Error is considered as Recoverable and non blocking : Transfer could go till end, but error severity is
to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Interrupt mode reception .
Received character is then retrieved and stored in Rx buffer, Error code is set to allow user to identify error type,
and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART side.
If user wants to abort it, Abort services should be called by user.
(+) Error is considered as Blocking : Transfer could not be completed properly and is aborted.
This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() user callback is executed.
-@- In the Half duplex communication, it is forbidden to run the transmit
and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful. | HAL_StatusTypeDef HAL_UART_Abort | ( | UART_HandleTypeDef * | huart | ) |
Abort ongoing transfers (blocking mode).
| huart | UART handle. |
| HAL | status |
Definition at line 1681 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_Abort_IT | ( | UART_HandleTypeDef * | huart | ) |
Abort ongoing transfers (Interrupt mode).
| huart | UART handle. |
| HAL | status |
Definition at line 1913 of file stm32l4xx_hal_uart.c.
| __weak void HAL_UART_AbortCpltCallback | ( | UART_HandleTypeDef * | huart | ) |
UART Abort Complete callback.
| huart | UART handle. |
| None |
Definition at line 2574 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_AbortReceive | ( | UART_HandleTypeDef * | huart | ) |
Abort ongoing Receive transfer (blocking mode).
| huart | UART handle. |
| HAL | status |
Definition at line 1847 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_AbortReceive_IT | ( | UART_HandleTypeDef * | huart | ) |
Abort ongoing Receive transfer (Interrupt mode).
| huart | UART handle. |
| HAL | status |
Definition at line 2160 of file stm32l4xx_hal_uart.c.
| __weak void HAL_UART_AbortReceiveCpltCallback | ( | UART_HandleTypeDef * | huart | ) |
UART Abort Receive Complete callback.
| huart | UART handle. |
| None |
Definition at line 2604 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_AbortTransmit | ( | UART_HandleTypeDef * | huart | ) |
Abort ongoing Transmit transfer (blocking mode).
| huart | UART handle. |
| HAL | status |
Definition at line 1782 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_AbortTransmit_IT | ( | UART_HandleTypeDef * | huart | ) |
Abort ongoing Transmit transfer (Interrupt mode).
| huart | UART handle. |
| HAL | status |
Definition at line 2064 of file stm32l4xx_hal_uart.c.
| __weak void HAL_UART_AbortTransmitCpltCallback | ( | UART_HandleTypeDef * | huart | ) |
UART Abort Complete callback.
| huart | UART handle. |
| None |
Definition at line 2589 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_DMAPause | ( | UART_HandleTypeDef * | huart | ) |
Pause the DMA Transfer.
| huart | UART handle. |
| HAL | status |
Definition at line 1540 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_DMAResume | ( | UART_HandleTypeDef * | huart | ) |
Resume the DMA Transfer.
| huart | UART handle. |
| HAL | status |
Definition at line 1574 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_DMAStop | ( | UART_HandleTypeDef * | huart | ) |
Stop the DMA Transfer.
| huart | UART handle. |
| HAL | status |
Definition at line 1606 of file stm32l4xx_hal_uart.c.
| __weak void HAL_UART_ErrorCallback | ( | UART_HandleTypeDef * | huart | ) |
UART error callback.
| huart | UART handle. |
| None |
Definition at line 2559 of file stm32l4xx_hal_uart.c.
| void HAL_UART_IRQHandler | ( | UART_HandleTypeDef * | huart | ) |
Handle UART interrupt request.
| huart | UART handle. |
| None |
Definition at line 2249 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_Receive | ( | UART_HandleTypeDef * | huart, |
| uint8_t * | pData, | ||
| uint16_t | Size, | ||
| uint32_t | Timeout | ||
| ) |
Receive an amount of data in blocking mode.
| huart | UART handle. |
| pData | Pointer to data buffer. |
| Size | Amount of data to be received. |
| Timeout | Timeout duration. |
| HAL | status |
Definition at line 1131 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_Receive_DMA | ( | UART_HandleTypeDef * | huart, |
| uint8_t * | pData, | ||
| uint16_t | Size | ||
| ) |
Receive an amount of data in DMA mode.
| huart | UART handle. |
| pData | Pointer to data buffer. |
| Size | Amount of data to be received. |
| HAL | status |
Definition at line 1469 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_Receive_IT | ( | UART_HandleTypeDef * | huart, |
| uint8_t * | pData, | ||
| uint16_t | Size | ||
| ) |
Receive an amount of data in interrupt mode.
| huart | UART handle. |
| pData | Pointer to data buffer. |
| Size | Amount of data to be received. |
| HAL | status |
Definition at line 1301 of file stm32l4xx_hal_uart.c.
| __weak void HAL_UART_RxCpltCallback | ( | UART_HandleTypeDef * | huart | ) |
Rx Transfer completed callback.
| huart | UART handle. |
| None |
Definition at line 2529 of file stm32l4xx_hal_uart.c.
| __weak void HAL_UART_RxHalfCpltCallback | ( | UART_HandleTypeDef * | huart | ) |
Rx Half Transfer completed callback.
| huart | UART handle. |
| None |
Definition at line 2544 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_Transmit | ( | UART_HandleTypeDef * | huart, |
| uint8_t * | pData, | ||
| uint16_t | Size, | ||
| uint32_t | Timeout | ||
| ) |
Send an amount of data in blocking mode.
| huart | UART handle. |
| pData | Pointer to data buffer. |
| Size | Amount of data to be sent. |
| Timeout | Timeout duration. |
| HAL | status |
Definition at line 1045 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_Transmit_DMA | ( | UART_HandleTypeDef * | huart, |
| uint8_t * | pData, | ||
| uint16_t | Size | ||
| ) |
Send an amount of data in DMA mode.
| huart | UART handle. |
| pData | Pointer to data buffer. |
| Size | Amount of data to be sent. |
| HAL | status |
Definition at line 1396 of file stm32l4xx_hal_uart.c.
| HAL_StatusTypeDef HAL_UART_Transmit_IT | ( | UART_HandleTypeDef * | huart, |
| uint8_t * | pData, | ||
| uint16_t | Size | ||
| ) |
Send an amount of data in interrupt mode.
| huart | UART handle. |
| pData | Pointer to data buffer. |
| Size | Amount of data to be sent. |
| HAL | status |
Definition at line 1213 of file stm32l4xx_hal_uart.c.
| __weak void HAL_UART_TxCpltCallback | ( | UART_HandleTypeDef * | huart | ) |
Tx Transfer completed callback.
| huart | UART handle. |
| None |
Definition at line 2499 of file stm32l4xx_hal_uart.c.
| __weak void HAL_UART_TxHalfCpltCallback | ( | UART_HandleTypeDef * | huart | ) |
Tx Half Transfer completed callback.
| huart | UART handle. |
| None |
Definition at line 2514 of file stm32l4xx_hal_uart.c.