STM32H735xx HAL User Manual
|
Header file of DMA HAL module. More...
#include "stm32h7xx_hal_def.h"
Go to the source code of this file.
Data Structures | |
struct | MDMA_InitTypeDef |
MDMA Configuration Structure definition. More... | |
struct | MDMA_LinkNodeTypeDef |
HAL MDMA linked list node structure definition. More... | |
struct | MDMA_LinkNodeConfTypeDef |
HAL MDMA linked list node configuration structure definition. More... | |
struct | __MDMA_HandleTypeDef |
MDMA handle Structure definition. More... | |
Defines | |
#define | HAL_MDMA_ERROR_NONE ((uint32_t)0x00000000U) |
#define | HAL_MDMA_ERROR_READ_XFER ((uint32_t)0x00000001U) |
#define | HAL_MDMA_ERROR_WRITE_XFER ((uint32_t)0x00000002U) |
#define | HAL_MDMA_ERROR_MASK_DATA ((uint32_t)0x00000004U) |
#define | HAL_MDMA_ERROR_LINKED_LIST ((uint32_t)0x00000008U) |
#define | HAL_MDMA_ERROR_ALIGNMENT ((uint32_t)0x00000010U) |
#define | HAL_MDMA_ERROR_BLOCK_SIZE ((uint32_t)0x00000020U) |
#define | HAL_MDMA_ERROR_TIMEOUT ((uint32_t)0x00000040U) |
#define | HAL_MDMA_ERROR_NO_XFER ((uint32_t)0x00000080U) |
#define | HAL_MDMA_ERROR_BUSY ((uint32_t)0x00000100U) |
#define | MDMA_REQUEST_DMA1_Stream0_TC ((uint32_t)0x00000000U) |
#define | MDMA_REQUEST_DMA1_Stream1_TC ((uint32_t)0x00000001U) |
#define | MDMA_REQUEST_DMA1_Stream2_TC ((uint32_t)0x00000002U) |
#define | MDMA_REQUEST_DMA1_Stream3_TC ((uint32_t)0x00000003U) |
#define | MDMA_REQUEST_DMA1_Stream4_TC ((uint32_t)0x00000004U) |
#define | MDMA_REQUEST_DMA1_Stream5_TC ((uint32_t)0x00000005U) |
#define | MDMA_REQUEST_DMA1_Stream6_TC ((uint32_t)0x00000006U) |
#define | MDMA_REQUEST_DMA1_Stream7_TC ((uint32_t)0x00000007U) |
#define | MDMA_REQUEST_DMA2_Stream0_TC ((uint32_t)0x00000008U) |
#define | MDMA_REQUEST_DMA2_Stream1_TC ((uint32_t)0x00000009U) |
#define | MDMA_REQUEST_DMA2_Stream2_TC ((uint32_t)0x0000000AU) |
#define | MDMA_REQUEST_DMA2_Stream3_TC ((uint32_t)0x0000000BU) |
#define | MDMA_REQUEST_DMA2_Stream4_TC ((uint32_t)0x0000000CU) |
#define | MDMA_REQUEST_DMA2_Stream5_TC ((uint32_t)0x0000000DU) |
#define | MDMA_REQUEST_DMA2_Stream6_TC ((uint32_t)0x0000000EU) |
#define | MDMA_REQUEST_DMA2_Stream7_TC ((uint32_t)0x0000000FU) |
#define | MDMA_REQUEST_LTDC_LINE_IT ((uint32_t)0x00000010U) |
#define | MDMA_REQUEST_OCTOSPI1_FIFO_TH ((uint32_t)0x00000016U) |
#define | MDMA_REQUEST_OCTOSPI1_TC ((uint32_t)0x00000017U) |
#define | MDMA_REQUEST_DMA2D_CLUT_TC ((uint32_t)0x00000018U) |
#define | MDMA_REQUEST_DMA2D_TC ((uint32_t)0x00000019U) |
#define | MDMA_REQUEST_DMA2D_TW ((uint32_t)0x0000001AU) |
#define | MDMA_REQUEST_SDMMC1_END_DATA ((uint32_t)0x0000001DU) |
#define | MDMA_REQUEST_SDMMC1_DMA_ENDBUFFER ((uint32_t)0x0000001EU) |
#define | MDMA_REQUEST_SDMMC1_COMMAND_END ((uint32_t)0x0000001FU) |
#define | MDMA_REQUEST_OCTOSPI2_FIFO_TH ((uint32_t)0x00000020U) |
#define | MDMA_REQUEST_OCTOSPI2_TC ((uint32_t)0x00000021U) |
#define | MDMA_REQUEST_SW ((uint32_t)0x40000000U) |
#define | MDMA_BUFFER_TRANSFER ((uint32_t)0x00000000U) |
#define | MDMA_BLOCK_TRANSFER ((uint32_t)MDMA_CTCR_TRGM_0) |
#define | MDMA_REPEAT_BLOCK_TRANSFER ((uint32_t)MDMA_CTCR_TRGM_1) |
#define | MDMA_FULL_TRANSFER ((uint32_t)MDMA_CTCR_TRGM) |
#define | MDMA_PRIORITY_LOW ((uint32_t)0x00000000U) |
#define | MDMA_PRIORITY_MEDIUM ((uint32_t)MDMA_CCR_PL_0) |
#define | MDMA_PRIORITY_HIGH ((uint32_t)MDMA_CCR_PL_1) |
#define | MDMA_PRIORITY_VERY_HIGH ((uint32_t)MDMA_CCR_PL) |
#define | MDMA_LITTLE_ENDIANNESS_PRESERVE ((uint32_t)0x00000000U) |
#define | MDMA_LITTLE_BYTE_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_BEX) |
#define | MDMA_LITTLE_HALFWORD_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_HEX) |
#define | MDMA_LITTLE_WORD_ENDIANNESS_EXCHANGE ((uint32_t)MDMA_CCR_WEX) |
#define | MDMA_SRC_INC_DISABLE ((uint32_t)0x00000000U) |
#define | MDMA_SRC_INC_BYTE ((uint32_t)MDMA_CTCR_SINC_1) |
#define | MDMA_SRC_INC_HALFWORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS_0) |
#define | MDMA_SRC_INC_WORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS_1) |
#define | MDMA_SRC_INC_DOUBLEWORD ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS) |
#define | MDMA_SRC_DEC_BYTE ((uint32_t)MDMA_CTCR_SINC) |
#define | MDMA_SRC_DEC_HALFWORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS_0) |
#define | MDMA_SRC_DEC_WORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS_1) |
#define | MDMA_SRC_DEC_DOUBLEWORD ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS) |
#define | MDMA_DEST_INC_DISABLE ((uint32_t)0x00000000U) |
#define | MDMA_DEST_INC_BYTE ((uint32_t)MDMA_CTCR_DINC_1) |
#define | MDMA_DEST_INC_HALFWORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS_0) |
#define | MDMA_DEST_INC_WORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS_1) |
#define | MDMA_DEST_INC_DOUBLEWORD ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS) |
#define | MDMA_DEST_DEC_BYTE ((uint32_t)MDMA_CTCR_DINC) |
#define | MDMA_DEST_DEC_HALFWORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS_0) |
#define | MDMA_DEST_DEC_WORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS_1) |
#define | MDMA_DEST_DEC_DOUBLEWORD ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS) |
#define | MDMA_SRC_DATASIZE_BYTE ((uint32_t)0x00000000U) |
#define | MDMA_SRC_DATASIZE_HALFWORD ((uint32_t)MDMA_CTCR_SSIZE_0) |
#define | MDMA_SRC_DATASIZE_WORD ((uint32_t)MDMA_CTCR_SSIZE_1) |
#define | MDMA_SRC_DATASIZE_DOUBLEWORD ((uint32_t)MDMA_CTCR_SSIZE) |
#define | MDMA_DEST_DATASIZE_BYTE ((uint32_t)0x00000000U) |
#define | MDMA_DEST_DATASIZE_HALFWORD ((uint32_t)MDMA_CTCR_DSIZE_0) |
#define | MDMA_DEST_DATASIZE_WORD ((uint32_t)MDMA_CTCR_DSIZE_1) |
#define | MDMA_DEST_DATASIZE_DOUBLEWORD ((uint32_t)MDMA_CTCR_DSIZE) |
#define | MDMA_DATAALIGN_PACKENABLE ((uint32_t)MDMA_CTCR_PKE) |
#define | MDMA_DATAALIGN_RIGHT ((uint32_t)0x00000000U) |
#define | MDMA_DATAALIGN_RIGHT_SIGNED ((uint32_t)MDMA_CTCR_PAM_0) |
#define | MDMA_DATAALIGN_LEFT ((uint32_t)MDMA_CTCR_PAM_1) |
#define | MDMA_SOURCE_BURST_SINGLE ((uint32_t)0x00000000U) |
#define | MDMA_SOURCE_BURST_2BEATS ((uint32_t)MDMA_CTCR_SBURST_0) |
#define | MDMA_SOURCE_BURST_4BEATS ((uint32_t)MDMA_CTCR_SBURST_1) |
#define | MDMA_SOURCE_BURST_8BEATS ((uint32_t)MDMA_CTCR_SBURST_0 | (uint32_t)MDMA_CTCR_SBURST_1) |
#define | MDMA_SOURCE_BURST_16BEATS ((uint32_t)MDMA_CTCR_SBURST_2) |
#define | MDMA_SOURCE_BURST_32BEATS ((uint32_t)MDMA_CTCR_SBURST_0 | (uint32_t)MDMA_CTCR_SBURST_2) |
#define | MDMA_SOURCE_BURST_64BEATS ((uint32_t)MDMA_CTCR_SBURST_1 | (uint32_t)MDMA_CTCR_SBURST_2) |
#define | MDMA_SOURCE_BURST_128BEATS ((uint32_t)MDMA_CTCR_SBURST) |
#define | MDMA_DEST_BURST_SINGLE ((uint32_t)0x00000000U) |
#define | MDMA_DEST_BURST_2BEATS ((uint32_t)MDMA_CTCR_DBURST_0) |
#define | MDMA_DEST_BURST_4BEATS ((uint32_t)MDMA_CTCR_DBURST_1) |
#define | MDMA_DEST_BURST_8BEATS ((uint32_t)MDMA_CTCR_DBURST_0 | (uint32_t)MDMA_CTCR_DBURST_1) |
#define | MDMA_DEST_BURST_16BEATS ((uint32_t)MDMA_CTCR_DBURST_2) |
#define | MDMA_DEST_BURST_32BEATS ((uint32_t)MDMA_CTCR_DBURST_0 | (uint32_t)MDMA_CTCR_DBURST_2) |
#define | MDMA_DEST_BURST_64BEATS ((uint32_t)MDMA_CTCR_DBURST_1 | (uint32_t)MDMA_CTCR_DBURST_2) |
#define | MDMA_DEST_BURST_128BEATS ((uint32_t)MDMA_CTCR_DBURST) |
#define | MDMA_IT_TE ((uint32_t)MDMA_CCR_TEIE) |
#define | MDMA_IT_CTC ((uint32_t)MDMA_CCR_CTCIE) |
#define | MDMA_IT_BRT ((uint32_t)MDMA_CCR_BRTIE) |
#define | MDMA_IT_BT ((uint32_t)MDMA_CCR_BTIE) |
#define | MDMA_IT_BFTC ((uint32_t)MDMA_CCR_TCIE) |
#define | MDMA_FLAG_TE ((uint32_t)MDMA_CISR_TEIF) |
#define | MDMA_FLAG_CTC ((uint32_t)MDMA_CISR_CTCIF) |
#define | MDMA_FLAG_BRT ((uint32_t)MDMA_CISR_BRTIF) |
#define | MDMA_FLAG_BT ((uint32_t)MDMA_CISR_BTIF) |
#define | MDMA_FLAG_BFTC ((uint32_t)MDMA_CISR_TCIF) |
#define | MDMA_FLAG_CRQA ((uint32_t)MDMA_CISR_CRQA) |
#define | __HAL_MDMA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CCR |= MDMA_CCR_EN) |
Enable the specified MDMA Channel. | |
#define | __HAL_MDMA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CCR &= ~MDMA_CCR_EN) |
Disable the specified MDMA Channel. | |
#define | __HAL_MDMA_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CISR & (__FLAG__)) |
Get the MDMA Channel pending flags. | |
#define | __HAL_MDMA_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->CIFCR = (__FLAG__)) |
Clear the MDMA Stream pending flags. | |
#define | __HAL_MDMA_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CCR |= (__INTERRUPT__)) |
Enables the specified MDMA Channel interrupts. | |
#define | __HAL_MDMA_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CCR &= ~(__INTERRUPT__)) |
Disables the specified MDMA Channel interrupts. | |
#define | __HAL_MDMA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CCR & (__INTERRUPT__))) |
Checks whether the specified MDMA Channel interrupt is enabled or not. | |
#define | __HAL_MDMA_SET_COUNTER(__HANDLE__, __COUNTER__) ((__HANDLE__)->Instance->CBNDTR |= ((__COUNTER__) & MDMA_CBNDTR_BNDT)) |
Writes the number of data in bytes to be transferred on the MDMA Channelx. | |
#define | __HAL_MDMA_GET_COUNTER(__HANDLE__) ((__HANDLE__)->Instance->CBNDTR & MDMA_CBNDTR_BNDT) |
Returns the number of remaining data in bytes in the current MDMA Channelx transfer. | |
#define | IS_MDMA_LEVEL_COMPLETE(__LEVEL__) |
#define | IS_MDMA_PRIORITY(__PRIORITY__) |
#define | IS_MDMA_ENDIANNESS_MODE(__ENDIANNESS__) |
#define | IS_MDMA_REQUEST(__REQUEST__) (((__REQUEST__) == MDMA_REQUEST_SW ) || ((__REQUEST__) <= MDMA_REQUEST_OCTOSPI2_TC)) |
#define | IS_MDMA_SOURCE_INC(__INC__) |
#define | IS_MDMA_DESTINATION_INC(__INC__) |
#define | IS_MDMA_SOURCE_DATASIZE(__SIZE__) |
#define | IS_MDMA_DESTINATION_DATASIZE(__SIZE__) |
#define | IS_MDMA_DATA_ALIGNMENT(__ALIGNMENT__) |
#define | IS_MDMA_SOURCE_BURST(__BURST__) |
#define | IS_MDMA_DESTINATION_BURST(__BURST__) |
#define | IS_MDMA_TRANSFER_TRIGGER_MODE(__MODE__) |
#define | IS_MDMA_BUFFER_TRANSFER_LENGTH(__LENGTH__) (((__LENGTH__) >= 0x00000001U) && ((__LENGTH__) < 0x000000FFU)) |
#define | IS_MDMA_BLOCK_COUNT(__COUNT__) (((__COUNT__) > 0U ) && ((__COUNT__) <= 4096U)) |
#define | IS_MDMA_TRANSFER_LENGTH(SIZE) (((SIZE) > 0U) && ((SIZE) <= 65536U)) |
#define | IS_MDMA_BLOCK_ADDR_OFFSET(__BLOCK_ADD_OFFSET__) (((__BLOCK_ADD_OFFSET__) > (-65536)) && ((__BLOCK_ADD_OFFSET__) < 65536)) |
Typedefs | |
typedef struct __MDMA_HandleTypeDef | MDMA_HandleTypeDef |
MDMA handle Structure definition. | |
Enumerations | |
enum | HAL_MDMA_StateTypeDef { HAL_MDMA_STATE_RESET = 0x00U, HAL_MDMA_STATE_READY = 0x01U, HAL_MDMA_STATE_BUSY = 0x02U, HAL_MDMA_STATE_ERROR = 0x03U, HAL_MDMA_STATE_ABORT = 0x04U } |
HAL MDMA State structure definition. More... | |
enum | HAL_MDMA_LevelCompleteTypeDef { HAL_MDMA_FULL_TRANSFER = 0x00U, HAL_MDMA_BUFFER_TRANSFER = 0x01U, HAL_MDMA_BLOCK_TRANSFER = 0x02U, HAL_MDMA_REPEAT_BLOCK_TRANSFER = 0x03U } |
HAL MDMA Level Complete structure definition. More... | |
enum | HAL_MDMA_CallbackIDTypeDef { HAL_MDMA_XFER_CPLT_CB_ID = 0x00U, HAL_MDMA_XFER_BUFFERCPLT_CB_ID = 0x01U, HAL_MDMA_XFER_BLOCKCPLT_CB_ID = 0x02U, HAL_MDMA_XFER_REPBLOCKCPLT_CB_ID = 0x03U, HAL_MDMA_XFER_ERROR_CB_ID = 0x04U, HAL_MDMA_XFER_ABORT_CB_ID = 0x05U, HAL_MDMA_XFER_ALL_CB_ID = 0x06U } |
HAL MDMA Callbacks IDs structure definition. More... | |
Functions | |
HAL_StatusTypeDef | HAL_MDMA_Init (MDMA_HandleTypeDef *hmdma) |
Initializes the MDMA according to the specified parameters in the MDMA_InitTypeDef and create the associated handle. | |
HAL_StatusTypeDef | HAL_MDMA_DeInit (MDMA_HandleTypeDef *hmdma) |
DeInitializes the MDMA peripheral. | |
HAL_StatusTypeDef | HAL_MDMA_ConfigPostRequestMask (MDMA_HandleTypeDef *hmdma, uint32_t MaskAddress, uint32_t MaskData) |
Config the Post request Mask address and Mask data. | |
HAL_StatusTypeDef | HAL_MDMA_RegisterCallback (MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID, void(*pCallback)(MDMA_HandleTypeDef *_hmdma)) |
Register callbacks. | |
HAL_StatusTypeDef | HAL_MDMA_UnRegisterCallback (MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID) |
UnRegister callbacks. | |
HAL_StatusTypeDef | HAL_MDMA_LinkedList_CreateNode (MDMA_LinkNodeTypeDef *pNode, MDMA_LinkNodeConfTypeDef *pNodeConfig) |
Initializes an MDMA Link Node according to the specified parameters in the pMDMA_LinkedListNodeConfig . | |
HAL_StatusTypeDef | HAL_MDMA_LinkedList_AddNode (MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNewNode, MDMA_LinkNodeTypeDef *pPrevNode) |
Connect a node to the linked list. | |
HAL_StatusTypeDef | HAL_MDMA_LinkedList_RemoveNode (MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNode) |
Disconnect/Remove a node from the transfer linked list. | |
HAL_StatusTypeDef | HAL_MDMA_LinkedList_EnableCircularMode (MDMA_HandleTypeDef *hmdma) |
Make the linked list circular by connecting the last node to the first. | |
HAL_StatusTypeDef | HAL_MDMA_LinkedList_DisableCircularMode (MDMA_HandleTypeDef *hmdma) |
Disable the linked list circular mode by setting the last node connection to null. | |
HAL_StatusTypeDef | HAL_MDMA_Start (MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount) |
Starts the MDMA Transfer. | |
HAL_StatusTypeDef | HAL_MDMA_Start_IT (MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount) |
Starts the MDMA Transfer with interrupts enabled. | |
HAL_StatusTypeDef | HAL_MDMA_Abort (MDMA_HandleTypeDef *hmdma) |
Aborts the MDMA Transfer. | |
HAL_StatusTypeDef | HAL_MDMA_Abort_IT (MDMA_HandleTypeDef *hmdma) |
Aborts the MDMA Transfer in Interrupt mode. | |
HAL_StatusTypeDef | HAL_MDMA_PollForTransfer (MDMA_HandleTypeDef *hmdma, HAL_MDMA_LevelCompleteTypeDef CompleteLevel, uint32_t Timeout) |
Polling for transfer complete. | |
HAL_StatusTypeDef | HAL_MDMA_GenerateSWRequest (MDMA_HandleTypeDef *hmdma) |
Generate an MDMA SW request trigger to activate the request on the given Channel. | |
void | HAL_MDMA_IRQHandler (MDMA_HandleTypeDef *hmdma) |
Handles MDMA interrupt request. | |
HAL_MDMA_StateTypeDef | HAL_MDMA_GetState (MDMA_HandleTypeDef *hmdma) |
Returns the MDMA state. | |
uint32_t | HAL_MDMA_GetError (MDMA_HandleTypeDef *hmdma) |
Return the MDMA error code. |
Header file of DMA HAL module.
Copyright (c) 2017 STMicroelectronics. All rights reserved.
This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.
Definition in file stm32h7xx_hal_mdma.h.