RTEMS  5.0.0
Data Structures | Macros | Typedefs | Functions
usart_dma.h File Reference
#include "chip.h"

Go to the source code of this file.

Data Structures

struct  UsartChannel
 usart Transfer Request prepared by the application upper layer. More...
 
struct  UsartDma
 

Macros

#define USARTD_ERROR   1
 
#define USARTD_ERROR_LOCK   2
 

Typedefs

typedef void(* UsartdCallback) (uint8_t, void *)
 

Functions

uint32_t USARTD_Configure (UsartDma *pUsartd, uint8_t USARTId, uint32_t UsartMode, uint32_t BaudRate, uint32_t UsartClk)
 Initializes the USARTDma structure and the corresponding USART & DMA . hardware select value. The driver will uses DMA channel 0 for RX and DMA channel 1 for TX. The DMA channels are freed automatically when no USART command processing. More...
 
uint32_t USARTD_EnableTxChannels (UsartDma *pUsartd, UsartChannel *pTxCh)
 This function initialize the appropriate DMA channel for Tx channel of USART. More...
 
uint32_t USARTD_EnableRxChannels (UsartDma *pUsartd, UsartChannel *pRxCh)
 This function initialize the appropriate DMA channel for Rx channel of USART. More...
 
uint32_t USARTD_DisableTxChannels (UsartDma *pUsartd, UsartChannel *pTxCh)
 This function disables the appropriate DMA channel for Tx channel of USART. More...
 
uint32_t USARTD_DisableRxChannels (UsartDma *pUsartd, UsartChannel *pTxCh)
 This function disables the appropriate DMA channel for Rx channel of USART. More...
 
uint32_t USARTD_SendData (UsartDma *pUsartd)
 Starts a USART master transfer. This is a non blocking function. It will return as soon as the transfer is started. More...
 
uint32_t USARTD_RcvData (UsartDma *pUsartd)
 Starts a USART master transfer. This is a non blocking function. It will return as soon as the transfer is started. More...
 

Detailed Description

Implementation of USART driver, transfer data through DMA.

Macro Definition Documentation

◆ USARTD_ERROR

#define USARTD_ERROR   1

An unspecified error has occurred.

◆ USARTD_ERROR_LOCK

#define USARTD_ERROR_LOCK   2

USART driver is currently in use.

Typedef Documentation

◆ UsartdCallback

typedef void(* UsartdCallback) (uint8_t, void *)

USART transfer complete callback.

Function Documentation

◆ USARTD_Configure()

uint32_t USARTD_Configure ( UsartDma pUsartd,
uint8_t  usartId,
uint32_t  UsartMode,
uint32_t  BaudRate,
uint32_t  UsartClk 
)

Initializes the USARTDma structure and the corresponding USART & DMA . hardware select value. The driver will uses DMA channel 0 for RX and DMA channel 1 for TX. The DMA channels are freed automatically when no USART command processing.

Parameters
pUSARTDPointer to a UsartDma instance.
pUsartHwAssociated USART peripheral.
usartIdUSART peripheral identifier.
UsartClkUSART clock.
pXdmadPointer to a Dmad instance.

◆ USARTD_DisableRxChannels()

uint32_t USARTD_DisableRxChannels ( UsartDma pUsartd,
UsartChannel pRxCh 
)

This function disables the appropriate DMA channel for Rx channel of USART.

Parameters
pUsartdPointer to a UsartDma instance.
pRxChPointer to TxChannel configuration
Returns
0 if the transfer has been started successfully; otherwise returns USARTD_ERROR_LOCK is the driver is in use, or USARTD_ERROR if the command is not valid.

◆ USARTD_DisableTxChannels()

uint32_t USARTD_DisableTxChannels ( UsartDma pUsartd,
UsartChannel pTxCh 
)

This function disables the appropriate DMA channel for Tx channel of USART.

Parameters
pUsartdPointer to a USARTDma instance.
pTxChPointer to TxChannel configuration
Returns
0 if the transfer has been started successfully; otherwise returns USARTD_ERROR_LOCK is the driver is in use, or USARTD_ERROR if the command is not valid.

◆ USARTD_EnableRxChannels()

uint32_t USARTD_EnableRxChannels ( UsartDma pUsartd,
UsartChannel pRxCh 
)

This function initialize the appropriate DMA channel for Rx channel of USART.

Parameters
pUsartdPointer to a UsartDma instance.
pRxChPointer to TxChannel configuration
Returns
0 if the transfer has been started successfully; otherwise returns USARTD_ERROR_LOCK is the driver is in use, or USARTD_ERROR if the command is not valid.

◆ USARTD_EnableTxChannels()

uint32_t USARTD_EnableTxChannels ( UsartDma pUsartd,
UsartChannel pTxCh 
)

This function initialize the appropriate DMA channel for Tx channel of USART.

Parameters
pUsartdPointer to a USARTDma instance.
pTxChPointer to TxChannel configuration
Returns
0 if the transfer has been started successfully; otherwise returns USARTD_ERROR_LOCK is the driver is in use, or USARTD_ERROR if the command is not valid.

◆ USARTD_RcvData()

uint32_t USARTD_RcvData ( UsartDma pUsartd)

Starts a USART master transfer. This is a non blocking function. It will return as soon as the transfer is started.

Parameters
pUSARTDPointer to a USARTDma instance.
Returns
0 if the transfer has been started successfully; otherwise returns USARTD_ERROR_LOCK is the driver is in use, or USARTD_ERROR if the command is not valid.

◆ USARTD_SendData()

uint32_t USARTD_SendData ( UsartDma pUsartd)

Starts a USART master transfer. This is a non blocking function. It will return as soon as the transfer is started.

Parameters
pUSARTDPointer to a USARTDma instance.
Returns
0 if the transfer has been started successfully; otherwise returns USARTD_ERROR_LOCK is the driver is in use, or USARTD_ERROR if the command is not valid.