Hal Drivers for L4

Dependents:   BSP OneHopeOnePrayer FINAL_AUDIO_RECORD AudioDemo

Fork of STM32L4xx_HAL_Driver by Senior Design: Sound Monitor

Embed: (wiki syntax)

« Back to documentation index

IO operation functions

IO operation functions
[UART Exported Functions]

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.
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.
HAL_StatusTypeDef HAL_UART_Transmit_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Send an amount of data in interrupt mode.
HAL_StatusTypeDef HAL_UART_Receive_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Receive an amount of data in interrupt mode.
HAL_StatusTypeDef HAL_UART_Transmit_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Send an amount of data in DMA mode.
HAL_StatusTypeDef HAL_UART_Receive_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 Receive an amount of data in DMA mode.
HAL_StatusTypeDef HAL_UART_DMAPause (UART_HandleTypeDef *huart)
 Pause the DMA Transfer.
HAL_StatusTypeDef HAL_UART_DMAResume (UART_HandleTypeDef *huart)
 Resume the DMA Transfer.
HAL_StatusTypeDef HAL_UART_DMAStop (UART_HandleTypeDef *huart)
 Stop the DMA Transfer.
void HAL_UART_IRQHandler (UART_HandleTypeDef *huart)
 Handle UART interrupt request.
__weak void HAL_UART_TxCpltCallback (UART_HandleTypeDef *huart)
 Tx Transfer completed callback.
__weak void HAL_UART_TxHalfCpltCallback (UART_HandleTypeDef *huart)
 Tx Half Transfer completed callback.
__weak void HAL_UART_RxCpltCallback (UART_HandleTypeDef *huart)
 Rx Transfer completed callback.
__weak void HAL_UART_RxHalfCpltCallback (UART_HandleTypeDef *huart)
 Rx Half Transfer completed callback.
__weak void HAL_UART_ErrorCallback (UART_HandleTypeDef *huart)
 UART error callback.

Detailed Description

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.
       (+) No-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()

    (#) No-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 No_Blocking mode:
        (+) HAL_UART_TxHalfCpltCallback()
        (+) HAL_UART_TxCpltCallback()
        (+) HAL_UART_RxHalfCpltCallback()
        (+) HAL_UART_RxCpltCallback()
        (+) HAL_UART_ErrorCallback()


    -@- 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.


Function Documentation

HAL_StatusTypeDef HAL_UART_DMAPause ( UART_HandleTypeDef *  huart )

Pause the DMA Transfer.

Parameters:
huart,:UART handle.
Return values:
HALstatus

Definition at line 1012 of file stm32l4xx_hal_uart.c.

HAL_StatusTypeDef HAL_UART_DMAResume ( UART_HandleTypeDef *  huart )

Resume the DMA Transfer.

Parameters:
huart,:UART handle.
Return values:
HALstatus

Definition at line 1046 of file stm32l4xx_hal_uart.c.

HAL_StatusTypeDef HAL_UART_DMAStop ( UART_HandleTypeDef *  huart )

Stop the DMA Transfer.

Parameters:
huart,:UART handle.
Return values:
HALstatus

Definition at line 1087 of file stm32l4xx_hal_uart.c.

__weak void HAL_UART_ErrorCallback ( UART_HandleTypeDef *  huart )

UART error callback.

Parameters:
huart,:UART handle.
Return values:
None

Definition at line 1254 of file stm32l4xx_hal_uart.c.

void HAL_UART_IRQHandler ( UART_HandleTypeDef *  huart )

Handle UART interrupt request.

Parameters:
huart,:UART handle.
Return values:
None

Definition at line 1121 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.

Parameters:
huart,:UART handle.
pData,:pointer to data buffer.
Size,:amount of data to be received.
Timeout,:Timeout duration.
Return values:
HALstatus

Definition at line 697 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.

Parameters:
huart,:UART handle.
pData,:pointer to data buffer.
Size,:amount of data to be received.
Note:
When the UART parity is enabled (PCE = 1), the received data contain the parity bit (MSB position).
Return values:
HALstatus

Definition at line 951 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.

Parameters:
huart,:UART handle.
pData,:pointer to data buffer.
Size,:amount of data to be received.
Return values:
HALstatus

Definition at line 825 of file stm32l4xx_hal_uart.c.

__weak void HAL_UART_RxCpltCallback ( UART_HandleTypeDef *  huart )

Rx Transfer completed callback.

Parameters:
huart,:UART handle.
Return values:
None

Definition at line 1230 of file stm32l4xx_hal_uart.c.

__weak void HAL_UART_RxHalfCpltCallback ( UART_HandleTypeDef *  huart )

Rx Half Transfer completed callback.

Parameters:
huart,:UART handle.
Return values:
None

Definition at line 1242 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.

Parameters:
huart,:UART handle.
pData,:Pointer to data buffer.
Size,:Amount of data to be sent.
Timeout,:Timeout duration.
Return values:
HALstatus

Definition at line 619 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.

Parameters:
huart,:UART handle.
pData,:pointer to data buffer.
Size,:amount of data to be sent.
Return values:
HALstatus

Definition at line 882 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.

Parameters:
huart,:UART handle.
pData,:pointer to data buffer.
Size,:amount of data to be sent.
Return values:
HALstatus

Definition at line 777 of file stm32l4xx_hal_uart.c.

__weak void HAL_UART_TxCpltCallback ( UART_HandleTypeDef *  huart )

Tx Transfer completed callback.

Parameters:
huart,:UART handle.
Return values:
None

Definition at line 1206 of file stm32l4xx_hal_uart.c.

__weak void HAL_UART_TxHalfCpltCallback ( UART_HandleTypeDef *  huart )

Tx Half Transfer completed callback.

Parameters:
huart,:UART handle.
Return values:
None

Definition at line 1218 of file stm32l4xx_hal_uart.c.