RTEMS 6.3
Loading...
Searching...
No Matches
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.
uint32_t USARTD_EnableTxChannels (UsartDma *pUsartd, UsartChannel *pTxCh)
 This function initialize the appropriate DMA channel for Tx channel of USART.
uint32_t USARTD_EnableRxChannels (UsartDma *pUsartd, UsartChannel *pRxCh)
 This function initialize the appropriate DMA channel for Rx channel of USART.
uint32_t USARTD_DisableTxChannels (UsartDma *pUsartd, UsartChannel *pTxCh)
 This function disables the appropriate DMA channel for Tx channel of USART.
uint32_t USARTD_DisableRxChannels (UsartDma *pUsartd, UsartChannel *pTxCh)
 This function disables the appropriate DMA channel for Rx channel of USART.
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.
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.

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.