思澈科技软件开发工具包  2.20
DMA Exported Macros

Macros

#define __HAL_DMA_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = HAL_DMA_STATE_RESET)
 Reset DMA handle state. More...
 
#define __HAL_DMA_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CCR |= DMAC_CCR1_EN)
 Enable the specified DMA Channel. More...
 
#define __HAL_DMA_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CCR &= ~DMAC_CCR1_EN)
 Disable the specified DMA Channel. More...
 
#define __HAL_DMA_GET_TC_FLAG_INDEX(__HANDLE__)
 Return the current DMA Channel transfer complete flag. More...
 
#define __HAL_DMA_GET_HT_FLAG_INDEX(__HANDLE__)
 Return the current DMA Channel half transfer complete flag. More...
 
#define __HAL_DMA_GET_TE_FLAG_INDEX(__HANDLE__)
 Return the current DMA Channel transfer error flag. More...
 
#define __HAL_DMA_GET_GI_FLAG_INDEX(__HANDLE__)
 Return the current DMA Channel Global interrupt flag. More...
 
#define __HAL_DMA_GET_FLAG(__HANDLE__, __FLAG__)   ((uint32_t)((__HANDLE__)->DmaBaseAddress->ISR & (__FLAG__:)))
 Get the DMA Channel pending flags. More...
 
#define __HAL_DMA_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->DmaBaseAddress->IFCR = (__FLAG__))
 Clear the DMA Channel pending flags. More...
 
#define __HAL_DMA_ENABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->CCR |= (__INTERRUPT__))
 Enable the specified DMA Channel interrupts. More...
 
#define __HAL_DMA_DISABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->CCR &= ~(__INTERRUPT__))
 Disable the specified DMA Channel interrupts. More...
 
#define __HAL_DMA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)   (((__HANDLE__)->Instance->CCR & (__INTERRUPT__)))
 Check whether the specified DMA Channel interrupt is enabled or not. More...
 
#define __HAL_DMA_GET_COUNTER(__HANDLE__)   ((__HANDLE__)->Instance->CNDTR)
 Return the number of remaining data units in the current DMA Channel transfer. More...
 
#define __HAL_DMA_SET_COUNTER(__HANDLE__, __DATA_COUNTS__)   ((__HANDLE__)->Instance->CNDTR = __DATA_COUNTS__)
 restart the current DMA Channel transfer. More...
 
#define __HAL_DMA_SET_CIRCLUAR_MODE(__HANDLE__, __CIRCLUAR_MODE__)   ((__HANDLE__)->Instance->CCR |= __CIRCLUAR_MODE__)
 Set circular mode for the current DMA Channel transfer. More...
 
#define __HAL_DMA_CLEAR_CIRCLUAR_MODE(__HANDLE__, __CIRCLUAR_MODE__)   ((__HANDLE__)->Instance->CCR &= ~(__CIRCLUAR_MODE__))
 Clear circular mode for the current DMA Channel transfer. More...
 

Detailed Description

DMA_Exported_Constants

Macro Definition Documentation

◆ __HAL_DMA_CLEAR_CIRCLUAR_MODE

#define __HAL_DMA_CLEAR_CIRCLUAR_MODE (   __HANDLE__,
  __CIRCLUAR_MODE__ 
)    ((__HANDLE__)->Instance->CCR &= ~(__CIRCLUAR_MODE__))

Clear circular mode for the current DMA Channel transfer.

Parameters
__HANDLE__DMA handle
__CIRCLUAR_MODE__Circluar mode, 0 disable, 1 enable
Return values
None.

◆ __HAL_DMA_CLEAR_FLAG

#define __HAL_DMA_CLEAR_FLAG (   __HANDLE__,
  __FLAG__ 
)    ((__HANDLE__)->DmaBaseAddress->IFCR = (__FLAG__))

Clear the DMA Channel pending flags.

Parameters
__HANDLE__DMA handle
__FLAG__specifies the flag to clear. This parameter can be any combination of the following values:
  • DMA_FLAG_TCx: Transfer complete flag
  • DMA_FLAG_HTx: Half transfer complete flag
  • DMA_FLAG_TEx: Transfer error flag
  • DMA_FLAG_GLx: Global interrupt flag Where x can be from 1 to 7 to select the DMA Channel x flag.
Return values
None

◆ __HAL_DMA_DISABLE

#define __HAL_DMA_DISABLE (   __HANDLE__)    ((__HANDLE__)->Instance->CCR &= ~DMAC_CCR1_EN)

Disable the specified DMA Channel.

Parameters
__HANDLE__DMA handle
Return values
None

◆ __HAL_DMA_DISABLE_IT

#define __HAL_DMA_DISABLE_IT (   __HANDLE__,
  __INTERRUPT__ 
)    ((__HANDLE__)->Instance->CCR &= ~(__INTERRUPT__))

Disable the specified DMA Channel interrupts.

Parameters
__HANDLE__DMA handle
__INTERRUPT__specifies the DMA interrupt sources to be enabled or disabled. This parameter can be any combination of the following values:
  • DMA_IT_TC: Transfer complete interrupt mask
  • DMA_IT_HT: Half transfer complete interrupt mask
  • DMA_IT_TE: Transfer error interrupt mask
Return values
None

◆ __HAL_DMA_ENABLE

#define __HAL_DMA_ENABLE (   __HANDLE__)    ((__HANDLE__)->Instance->CCR |= DMAC_CCR1_EN)

Enable the specified DMA Channel.

Parameters
__HANDLE__DMA handle
Return values
None

◆ __HAL_DMA_ENABLE_IT

#define __HAL_DMA_ENABLE_IT (   __HANDLE__,
  __INTERRUPT__ 
)    ((__HANDLE__)->Instance->CCR |= (__INTERRUPT__))

Enable the specified DMA Channel interrupts.

Parameters
__HANDLE__DMA handle
__INTERRUPT__specifies the DMA interrupt sources to be enabled or disabled. This parameter can be any combination of the following values:
  • DMA_IT_TC: Transfer complete interrupt mask
  • DMA_IT_HT: Half transfer complete interrupt mask
  • DMA_IT_TE: Transfer error interrupt mask
Return values
None

◆ __HAL_DMA_GET_COUNTER

#define __HAL_DMA_GET_COUNTER (   __HANDLE__)    ((__HANDLE__)->Instance->CNDTR)

Return the number of remaining data units in the current DMA Channel transfer.

Parameters
__HANDLE__DMA handle
Return values
Thenumber of remaining data units in the current DMA Channel transfer.

◆ __HAL_DMA_GET_FLAG

#define __HAL_DMA_GET_FLAG (   __HANDLE__,
  __FLAG__ 
)    ((uint32_t)((__HANDLE__)->DmaBaseAddress->ISR & (__FLAG__:)))

Get the DMA Channel pending flags.

Parameters
__HANDLE__DMA handle
__FLAG__Get the specified flag. This parameter can be any combination of the following values:
  • DMA_FLAG_TCx: Transfer complete flag
  • DMA_FLAG_HTx: Half transfer complete flag
  • DMA_FLAG_TEx: Transfer error flag
  • DMA_FLAG_GLx: Global interrupt flag Where x can be from 1 to 7 to select the DMA Channel x flag.
Return values
Thestate of FLAG (SET or RESET).

◆ __HAL_DMA_GET_GI_FLAG_INDEX

#define __HAL_DMA_GET_GI_FLAG_INDEX (   __HANDLE__)
Value:
(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMAC_ISR_GIF1 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel1))? DMAC_ISR_GIF1 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMAC_ISR_GIF2 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel2))? DMAC_ISR_GIF2 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMAC_ISR_GIF3 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel3))? DMAC_ISR_GIF3 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMAC_ISR_GIF4 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel4))? DMAC_ISR_GIF4 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMAC_ISR_GIF5 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel5))? DMAC_ISR_GIF5 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMAC_ISR_GIF6 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel6))? DMAC_ISR_GIF6 :\
DMAC_ISR_GIF7)

Return the current DMA Channel Global interrupt flag.

Parameters
__HANDLE__DMA handle
Return values
Thespecified transfer error flag index.

◆ __HAL_DMA_GET_HT_FLAG_INDEX

#define __HAL_DMA_GET_HT_FLAG_INDEX (   __HANDLE__)
Value:
(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_HT1 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel1))? DMA_FLAG_HT1 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_HT2 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel2))? DMA_FLAG_HT2 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_HT3 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel3))? DMA_FLAG_HT3 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_HT4 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel4))? DMA_FLAG_HT4 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_HT5 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel5))? DMA_FLAG_HT5 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_HT6 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel6))? DMA_FLAG_HT6 :\
DMA_FLAG_HT7)

Return the current DMA Channel half transfer complete flag.

Parameters
__HANDLE__DMA handle
Return values
Thespecified half transfer complete flag index.

◆ __HAL_DMA_GET_IT_SOURCE

#define __HAL_DMA_GET_IT_SOURCE (   __HANDLE__,
  __INTERRUPT__ 
)    (((__HANDLE__)->Instance->CCR & (__INTERRUPT__)))

Check whether the specified DMA Channel interrupt is enabled or not.

Parameters
__HANDLE__DMA handle
__INTERRUPT__specifies the DMA interrupt source to check. This parameter can be one of the following values:
  • DMA_IT_TC: Transfer complete interrupt mask
  • DMA_IT_HT: Half transfer complete interrupt mask
  • DMA_IT_TE: Transfer error interrupt mask
Return values
Thestate of DMA_IT (SET or RESET).

◆ __HAL_DMA_GET_TC_FLAG_INDEX

#define __HAL_DMA_GET_TC_FLAG_INDEX (   __HANDLE__)
Value:
(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_TC1 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel1))? DMA_FLAG_TC1 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_TC2 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel2))? DMA_FLAG_TC2 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_TC3 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel3))? DMA_FLAG_TC3 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_TC4 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel4))? DMA_FLAG_TC4 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_TC5 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel5))? DMA_FLAG_TC5 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_TC6 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel6))? DMA_FLAG_TC6 :\
DMA_FLAG_TC7)

Return the current DMA Channel transfer complete flag.

Parameters
__HANDLE__DMA handle
Return values
Thespecified transfer complete flag index.

◆ __HAL_DMA_GET_TE_FLAG_INDEX

#define __HAL_DMA_GET_TE_FLAG_INDEX (   __HANDLE__)
Value:
(((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel1))? DMA_FLAG_TE1 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel1))? DMA_FLAG_TE1 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel2))? DMA_FLAG_TE2 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel2))? DMA_FLAG_TE2 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel3))? DMA_FLAG_TE3 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel3))? DMA_FLAG_TE3 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel4))? DMA_FLAG_TE4 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel4))? DMA_FLAG_TE4 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel5))? DMA_FLAG_TE5 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel5))? DMA_FLAG_TE5 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Channel6))? DMA_FLAG_TE6 :\
((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Channel6))? DMA_FLAG_TE6 :\
DMA_FLAG_TE7)

Return the current DMA Channel transfer error flag.

Parameters
__HANDLE__DMA handle
Return values
Thespecified transfer error flag index.

◆ __HAL_DMA_RESET_HANDLE_STATE

#define __HAL_DMA_RESET_HANDLE_STATE (   __HANDLE__)    ((__HANDLE__)->State = HAL_DMA_STATE_RESET)

Reset DMA handle state.

Parameters
__HANDLE__DMA handle
Return values
None

◆ __HAL_DMA_SET_CIRCLUAR_MODE

#define __HAL_DMA_SET_CIRCLUAR_MODE (   __HANDLE__,
  __CIRCLUAR_MODE__ 
)    ((__HANDLE__)->Instance->CCR |= __CIRCLUAR_MODE__)

Set circular mode for the current DMA Channel transfer.

Parameters
__HANDLE__DMA handle
__CIRCLUAR_MODE__Circluar mode, 0 disable, 1 enable
Return values
None.

◆ __HAL_DMA_SET_COUNTER

#define __HAL_DMA_SET_COUNTER (   __HANDLE__,
  __DATA_COUNTS__ 
)    ((__HANDLE__)->Instance->CNDTR = __DATA_COUNTS__)

restart the current DMA Channel transfer.

Parameters
__HANDLE__DMA handle
__DATA_COUNTS__number of data to transfer (0 to 2^16 - 1)
Return values
None.