![]() |
MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Files | |
| file | fsl_dmic_dma.h |
| file | fsl_dmic_dma.h |
Data Structures | |
| struct | dmic_transfer_t |
| DMIC transfer structure. More... | |
| struct | dmic_dma_handle_t |
| DMIC DMA handle. More... | |
Typedefs | |
| typedef void(* | dmic_dma_transfer_callback_t )(DMIC_Type *base, dmic_dma_handle_t *handle, status_t status, void *userData) |
| DMIC transfer callback function. More... | |
| typedef void(* | dmic_dma_transfer_callback_t )(DMIC_Type *base, dmic_dma_handle_t *handle, status_t status, void *userData) |
| DMIC transfer callback function. More... | |
DMIC DMA version | |
| #define | FSL_DMIC_DMA_DRIVER_VERSION (MAKE_VERSION(2, 2, 1)) |
| DMIC DMA driver version 2.2.1. | |
DMA transactional | |
| status_t | DMIC_TransferCreateHandleDMA (DMIC_Type *base, dmic_dma_handle_t *handle, dmic_dma_transfer_callback_t callback, void *userData, dma_handle_t *rxDmaHandle) |
| Initializes the DMIC handle which is used in transactional functions. More... | |
| status_t | DMIC_TransferReceiveDMA (DMIC_Type *base, dmic_dma_handle_t *handle, dmic_transfer_t *xfer, uint32_t channel) |
| Receives data using DMA. More... | |
| void | DMIC_TransferAbortReceiveDMA (DMIC_Type *base, dmic_dma_handle_t *handle) |
| Aborts the received data using DMA. More... | |
| status_t | DMIC_TransferGetReceiveCountDMA (DMIC_Type *base, dmic_dma_handle_t *handle, uint32_t *count) |
| Get the number of bytes that have been received. More... | |
| void | DMIC_InstallDMADescriptorMemory (dmic_dma_handle_t *handle, void *linkAddr, size_t linkNum) |
| Install DMA descriptor memory. More... | |
DMIC DMA version | |
| #define | FSL_DMIC_DMA_DRIVER_VERSION (MAKE_VERSION(2, 2, 0)) |
| DMIC DMA driver version 2.2.0. | |
| struct dmic_transfer_t |
Data Fields | |
| void * | data |
| The buffer of data to be transfer. More... | |
| uint8_t | dataWidth |
| DMIC support 16bit/32bit. | |
| size_t | dataSize |
| The byte count to be transfer. More... | |
| uint8_t | dataAddrInterleaveSize |
| destination address interleave size | |
| struct _dmic_transfer * | linkTransfer |
| use to support link transfer | |
| void * dmic_transfer_t::data |
| size_t dmic_transfer_t::dataSize |
| struct _dmic_dma_handle |
Data Fields | |
| DMIC_Type * | base |
| DMIC peripheral base address. More... | |
| dma_handle_t * | rxDmaHandle |
| The DMA RX channel used. More... | |
| dmic_dma_transfer_callback_t | callback |
| Callback function. More... | |
| void * | userData |
| DMIC callback function parameter. More... | |
| size_t | transferSize |
| Size of the data to receive. More... | |
| volatile uint8_t | state |
| Internal state of DMIC DMA transfer. | |
| dma_descriptor_t * | desLink |
| descriptor pool pointer | |
| size_t | linkNum |
| number of descriptor in descriptors pool | |
| DMIC_Type * dmic_dma_handle_t::base |
| dma_handle_t * dmic_dma_handle_t::rxDmaHandle |
| dmic_dma_transfer_callback_t dmic_dma_handle_t::callback |
| void * dmic_dma_handle_t::userData |
| size_t dmic_dma_handle_t::transferSize |
| typedef void(* dmic_dma_transfer_callback_t)(DMIC_Type *base, dmic_dma_handle_t *handle, status_t status, void *userData) |
| typedef void(* dmic_dma_transfer_callback_t)(DMIC_Type *base, dmic_dma_handle_t *handle, status_t status, void *userData) |
| status_t DMIC_TransferCreateHandleDMA | ( | DMIC_Type * | base, |
| dmic_dma_handle_t * | handle, | ||
| dmic_dma_transfer_callback_t | callback, | ||
| void * | userData, | ||
| dma_handle_t * | rxDmaHandle | ||
| ) |
| base | DMIC peripheral base address. |
| handle | Pointer to dmic_dma_handle_t structure. |
| callback | Callback function. |
| userData | User data. |
| rxDmaHandle | User-requested DMA handle for RX DMA transfer. |
| status_t DMIC_TransferReceiveDMA | ( | DMIC_Type * | base, |
| dmic_dma_handle_t * | handle, | ||
| dmic_transfer_t * | xfer, | ||
| uint32_t | channel | ||
| ) |
This function receives data using DMA. This is a non-blocking function, which returns right away. When all data is received, the receive callback function is called.
| base | USART peripheral base address. |
| handle | Pointer to usart_dma_handle_t structure. |
| xfer | DMIC DMA transfer structure. See dmic_transfer_t. |
| dmic_channel | DMIC start channel number. |
| kStatus_Success |
| void DMIC_TransferAbortReceiveDMA | ( | DMIC_Type * | base, |
| dmic_dma_handle_t * | handle | ||
| ) |
This function aborts the received data using DMA.
| base | DMIC peripheral base address |
| handle | Pointer to dmic_dma_handle_t structure |
| status_t DMIC_TransferGetReceiveCountDMA | ( | DMIC_Type * | base, |
| dmic_dma_handle_t * | handle, | ||
| uint32_t * | count | ||
| ) |
This function gets the number of bytes that have been received.
| base | DMIC peripheral base address. |
| handle | DMIC handle pointer. |
| count | Receive bytes count. |
| kStatus_NoTransferInProgress | No receive in progress. |
| kStatus_InvalidArgument | Parameter is invalid. |
| kStatus_Success | Get successfully through the parameter count; |
| void DMIC_InstallDMADescriptorMemory | ( | dmic_dma_handle_t * | handle, |
| void * | linkAddr, | ||
| size_t | linkNum | ||
| ) |
This function used to register DMA descriptor memory for linked transfer, a typical case is ping pong transfer which will request more than one DMA descriptor memory space, it should be called after DMIC_TransferCreateHandleDMA. User should be take care about the address of DMA descriptor pool which required align with 16BYTE at least.
| handle | Pointer to DMA channel transfer handle. |
| linkAddr | DMA link descriptor address. |
| num | DMA link descriptor number. |