File indexing completed on 2025-05-11 08:23:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef STM32H7xx_HAL_DMA_H
0021 #define STM32H7xx_HAL_DMA_H
0022
0023 #ifdef __cplusplus
0024 extern "C" {
0025 #endif
0026
0027
0028 #include "stm32h7xx_hal_def.h"
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049 typedef struct
0050 {
0051 uint32_t Request;
0052
0053
0054 uint32_t Direction;
0055
0056
0057
0058 uint32_t PeriphInc;
0059
0060
0061 uint32_t MemInc;
0062
0063
0064 uint32_t PeriphDataAlignment;
0065
0066
0067 uint32_t MemDataAlignment;
0068
0069
0070 uint32_t Mode;
0071
0072
0073
0074
0075 uint32_t Priority;
0076
0077
0078 uint32_t FIFOMode;
0079
0080
0081
0082
0083 uint32_t FIFOThreshold;
0084
0085
0086 uint32_t MemBurst;
0087
0088
0089
0090
0091
0092 uint32_t PeriphBurst;
0093
0094
0095
0096
0097 }DMA_InitTypeDef;
0098
0099
0100
0101
0102 typedef enum
0103 {
0104 HAL_DMA_STATE_RESET = 0x00U,
0105 HAL_DMA_STATE_READY = 0x01U,
0106 HAL_DMA_STATE_BUSY = 0x02U,
0107 HAL_DMA_STATE_ERROR = 0x03U,
0108 HAL_DMA_STATE_ABORT = 0x04U,
0109 }HAL_DMA_StateTypeDef;
0110
0111
0112
0113
0114 typedef enum
0115 {
0116 HAL_DMA_FULL_TRANSFER = 0x00U,
0117 HAL_DMA_HALF_TRANSFER = 0x01U,
0118 }HAL_DMA_LevelCompleteTypeDef;
0119
0120
0121
0122
0123 typedef enum
0124 {
0125 HAL_DMA_XFER_CPLT_CB_ID = 0x00U,
0126 HAL_DMA_XFER_HALFCPLT_CB_ID = 0x01U,
0127 HAL_DMA_XFER_M1CPLT_CB_ID = 0x02U,
0128 HAL_DMA_XFER_M1HALFCPLT_CB_ID = 0x03U,
0129 HAL_DMA_XFER_ERROR_CB_ID = 0x04U,
0130 HAL_DMA_XFER_ABORT_CB_ID = 0x05U,
0131 HAL_DMA_XFER_ALL_CB_ID = 0x06U
0132 }HAL_DMA_CallbackIDTypeDef;
0133
0134
0135
0136
0137 typedef struct __DMA_HandleTypeDef
0138 {
0139 void *Instance;
0140
0141 DMA_InitTypeDef Init;
0142
0143 HAL_LockTypeDef Lock;
0144
0145 __IO HAL_DMA_StateTypeDef State;
0146
0147 void *Parent;
0148
0149 void (* XferCpltCallback)( struct __DMA_HandleTypeDef * hdma);
0150
0151 void (* XferHalfCpltCallback)( struct __DMA_HandleTypeDef * hdma);
0152
0153 void (* XferM1CpltCallback)( struct __DMA_HandleTypeDef * hdma);
0154
0155 void (* XferM1HalfCpltCallback)( struct __DMA_HandleTypeDef * hdma);
0156
0157 void (* XferErrorCallback)( struct __DMA_HandleTypeDef * hdma);
0158
0159 void (* XferAbortCallback)( struct __DMA_HandleTypeDef * hdma);
0160
0161 __IO uint32_t ErrorCode;
0162
0163 uint32_t StreamBaseAddress;
0164
0165 uint32_t StreamIndex;
0166
0167 DMAMUX_Channel_TypeDef *DMAmuxChannel;
0168
0169 DMAMUX_ChannelStatus_TypeDef *DMAmuxChannelStatus;
0170
0171 uint32_t DMAmuxChannelStatusMask;
0172
0173
0174 DMAMUX_RequestGen_TypeDef *DMAmuxRequestGen;
0175
0176 DMAMUX_RequestGenStatus_TypeDef *DMAmuxRequestGenStatus;
0177
0178 uint32_t DMAmuxRequestGenStatusMask;
0179
0180 }DMA_HandleTypeDef;
0181
0182
0183
0184
0185
0186
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199
0200 #define HAL_DMA_ERROR_NONE (0x00000000U)
0201 #define HAL_DMA_ERROR_TE (0x00000001U)
0202 #define HAL_DMA_ERROR_FE (0x00000002U)
0203 #define HAL_DMA_ERROR_DME (0x00000004U)
0204 #define HAL_DMA_ERROR_TIMEOUT (0x00000020U)
0205 #define HAL_DMA_ERROR_PARAM (0x00000040U)
0206 #define HAL_DMA_ERROR_NO_XFER (0x00000080U)
0207 #define HAL_DMA_ERROR_NOT_SUPPORTED (0x00000100U)
0208 #define HAL_DMA_ERROR_SYNC (0x00000200U)
0209 #define HAL_DMA_ERROR_REQGEN (0x00000400U)
0210 #define HAL_DMA_ERROR_BUSY (0x00000800U)
0211
0212
0213
0214
0215
0216
0217
0218
0219
0220
0221
0222 #define DMA_REQUEST_MEM2MEM 0U
0223
0224 #define DMA_REQUEST_GENERATOR0 1U
0225 #define DMA_REQUEST_GENERATOR1 2U
0226 #define DMA_REQUEST_GENERATOR2 3U
0227 #define DMA_REQUEST_GENERATOR3 4U
0228 #define DMA_REQUEST_GENERATOR4 5U
0229 #define DMA_REQUEST_GENERATOR5 6U
0230 #define DMA_REQUEST_GENERATOR6 7U
0231 #define DMA_REQUEST_GENERATOR7 8U
0232
0233 #define DMA_REQUEST_ADC1 9U
0234 #define DMA_REQUEST_ADC2 10U
0235
0236 #define DMA_REQUEST_TIM1_CH1 11U
0237 #define DMA_REQUEST_TIM1_CH2 12U
0238 #define DMA_REQUEST_TIM1_CH3 13U
0239 #define DMA_REQUEST_TIM1_CH4 14U
0240 #define DMA_REQUEST_TIM1_UP 15U
0241 #define DMA_REQUEST_TIM1_TRIG 16U
0242 #define DMA_REQUEST_TIM1_COM 17U
0243
0244 #define DMA_REQUEST_TIM2_CH1 18U
0245 #define DMA_REQUEST_TIM2_CH2 19U
0246 #define DMA_REQUEST_TIM2_CH3 20U
0247 #define DMA_REQUEST_TIM2_CH4 21U
0248 #define DMA_REQUEST_TIM2_UP 22U
0249
0250 #define DMA_REQUEST_TIM3_CH1 23U
0251 #define DMA_REQUEST_TIM3_CH2 24U
0252 #define DMA_REQUEST_TIM3_CH3 25U
0253 #define DMA_REQUEST_TIM3_CH4 26U
0254 #define DMA_REQUEST_TIM3_UP 27U
0255 #define DMA_REQUEST_TIM3_TRIG 28U
0256
0257 #define DMA_REQUEST_TIM4_CH1 29U
0258 #define DMA_REQUEST_TIM4_CH2 30U
0259 #define DMA_REQUEST_TIM4_CH3 31U
0260 #define DMA_REQUEST_TIM4_UP 32U
0261
0262 #define DMA_REQUEST_I2C1_RX 33U
0263 #define DMA_REQUEST_I2C1_TX 34U
0264 #define DMA_REQUEST_I2C2_RX 35U
0265 #define DMA_REQUEST_I2C2_TX 36U
0266
0267 #define DMA_REQUEST_SPI1_RX 37U
0268 #define DMA_REQUEST_SPI1_TX 38U
0269 #define DMA_REQUEST_SPI2_RX 39U
0270 #define DMA_REQUEST_SPI2_TX 40U
0271
0272 #define DMA_REQUEST_USART1_RX 41U
0273 #define DMA_REQUEST_USART1_TX 42U
0274 #define DMA_REQUEST_USART2_RX 43U
0275 #define DMA_REQUEST_USART2_TX 44U
0276 #define DMA_REQUEST_USART3_RX 45U
0277 #define DMA_REQUEST_USART3_TX 46U
0278
0279 #define DMA_REQUEST_TIM8_CH1 47U
0280 #define DMA_REQUEST_TIM8_CH2 48U
0281 #define DMA_REQUEST_TIM8_CH3 49U
0282 #define DMA_REQUEST_TIM8_CH4 50U
0283 #define DMA_REQUEST_TIM8_UP 51U
0284 #define DMA_REQUEST_TIM8_TRIG 52U
0285 #define DMA_REQUEST_TIM8_COM 53U
0286
0287 #define DMA_REQUEST_TIM5_CH1 55U
0288 #define DMA_REQUEST_TIM5_CH2 56U
0289 #define DMA_REQUEST_TIM5_CH3 57U
0290 #define DMA_REQUEST_TIM5_CH4 58U
0291 #define DMA_REQUEST_TIM5_UP 59U
0292 #define DMA_REQUEST_TIM5_TRIG 60U
0293
0294 #define DMA_REQUEST_SPI3_RX 61U
0295 #define DMA_REQUEST_SPI3_TX 62U
0296
0297 #define DMA_REQUEST_UART4_RX 63U
0298 #define DMA_REQUEST_UART4_TX 64U
0299 #define DMA_REQUEST_UART5_RX 65U
0300 #define DMA_REQUEST_UART5_TX 66U
0301
0302 #define DMA_REQUEST_DAC1_CH1 67U
0303 #define DMA_REQUEST_DAC1_CH2 68U
0304
0305 #define DMA_REQUEST_TIM6_UP 69U
0306 #define DMA_REQUEST_TIM7_UP 70U
0307
0308 #define DMA_REQUEST_USART6_RX 71U
0309 #define DMA_REQUEST_USART6_TX 72U
0310
0311 #define DMA_REQUEST_I2C3_RX 73U
0312 #define DMA_REQUEST_I2C3_TX 74U
0313
0314 #if defined (PSSI)
0315 #define DMA_REQUEST_DCMI_PSSI 75U
0316 #define DMA_REQUEST_DCMI DMA_REQUEST_DCMI_PSSI
0317 #else
0318 #define DMA_REQUEST_DCMI 75U
0319 #endif
0320
0321 #define DMA_REQUEST_CRYP_IN 76U
0322 #define DMA_REQUEST_CRYP_OUT 77U
0323
0324 #define DMA_REQUEST_HASH_IN 78U
0325
0326 #define DMA_REQUEST_UART7_RX 79U
0327 #define DMA_REQUEST_UART7_TX 80U
0328 #define DMA_REQUEST_UART8_RX 81U
0329 #define DMA_REQUEST_UART8_TX 82U
0330
0331 #define DMA_REQUEST_SPI4_RX 83U
0332 #define DMA_REQUEST_SPI4_TX 84U
0333 #define DMA_REQUEST_SPI5_RX 85U
0334 #define DMA_REQUEST_SPI5_TX 86U
0335
0336 #define DMA_REQUEST_SAI1_A 87U
0337 #define DMA_REQUEST_SAI1_B 88U
0338
0339 #if defined(SAI2)
0340 #define DMA_REQUEST_SAI2_A 89U
0341 #define DMA_REQUEST_SAI2_B 90U
0342 #endif
0343
0344 #define DMA_REQUEST_SWPMI_RX 91U
0345 #define DMA_REQUEST_SWPMI_TX 92U
0346
0347 #define DMA_REQUEST_SPDIF_RX_DT 93U
0348 #define DMA_REQUEST_SPDIF_RX_CS 94U
0349
0350 #if defined(HRTIM1)
0351 #define DMA_REQUEST_HRTIM_MASTER 95U
0352 #define DMA_REQUEST_HRTIM_TIMER_A 96U
0353 #define DMA_REQUEST_HRTIM_TIMER_B 97U
0354 #define DMA_REQUEST_HRTIM_TIMER_C 98U
0355 #define DMA_REQUEST_HRTIM_TIMER_D 99U
0356 #define DMA_REQUEST_HRTIM_TIMER_E 100U
0357 #endif
0358
0359 #define DMA_REQUEST_DFSDM1_FLT0 101U
0360 #define DMA_REQUEST_DFSDM1_FLT1 102U
0361 #define DMA_REQUEST_DFSDM1_FLT2 103U
0362 #define DMA_REQUEST_DFSDM1_FLT3 104U
0363
0364 #define DMA_REQUEST_TIM15_CH1 105U
0365 #define DMA_REQUEST_TIM15_UP 106U
0366 #define DMA_REQUEST_TIM15_TRIG 107U
0367 #define DMA_REQUEST_TIM15_COM 108U
0368
0369 #define DMA_REQUEST_TIM16_CH1 109U
0370 #define DMA_REQUEST_TIM16_UP 110U
0371
0372 #define DMA_REQUEST_TIM17_CH1 111U
0373 #define DMA_REQUEST_TIM17_UP 112U
0374
0375 #if defined(SAI3)
0376 #define DMA_REQUEST_SAI3_A 113U
0377 #define DMA_REQUEST_SAI3_B 114U
0378 #endif
0379
0380 #if defined(ADC3)
0381 #define DMA_REQUEST_ADC3 115U
0382 #endif
0383
0384 #if defined(UART9)
0385 #define DMA_REQUEST_UART9_RX 116U
0386 #define DMA_REQUEST_UART9_TX 117U
0387 #endif
0388
0389 #if defined(USART10)
0390 #define DMA_REQUEST_USART10_RX 118U
0391 #define DMA_REQUEST_USART10_TX 119U
0392 #endif
0393
0394 #if defined(FMAC)
0395 #define DMA_REQUEST_FMAC_READ 120U
0396 #define DMA_REQUEST_FMAC_WRITE 121U
0397 #endif
0398
0399 #if defined(CORDIC)
0400 #define DMA_REQUEST_CORDIC_READ 122U
0401 #define DMA_REQUEST_CORDIC_WRITE 123U
0402 #endif
0403
0404 #if defined(I2C5)
0405 #define DMA_REQUEST_I2C5_RX 124U
0406 #define DMA_REQUEST_I2C5_TX 125U
0407 #endif
0408
0409 #if defined(TIM23)
0410 #define DMA_REQUEST_TIM23_CH1 126U
0411 #define DMA_REQUEST_TIM23_CH2 127U
0412 #define DMA_REQUEST_TIM23_CH3 128U
0413 #define DMA_REQUEST_TIM23_CH4 129U
0414 #define DMA_REQUEST_TIM23_UP 130U
0415 #define DMA_REQUEST_TIM23_TRIG 131U
0416 #endif
0417
0418 #if defined(TIM24)
0419 #define DMA_REQUEST_TIM24_CH1 132U
0420 #define DMA_REQUEST_TIM24_CH2 133U
0421 #define DMA_REQUEST_TIM24_CH3 134U
0422 #define DMA_REQUEST_TIM24_CH4 135U
0423 #define DMA_REQUEST_TIM24_UP 136U
0424 #define DMA_REQUEST_TIM24_TRIG 137U
0425 #endif
0426
0427
0428 #define BDMA_REQUEST_MEM2MEM 0U
0429 #define BDMA_REQUEST_GENERATOR0 1U
0430 #define BDMA_REQUEST_GENERATOR1 2U
0431 #define BDMA_REQUEST_GENERATOR2 3U
0432 #define BDMA_REQUEST_GENERATOR3 4U
0433 #define BDMA_REQUEST_GENERATOR4 5U
0434 #define BDMA_REQUEST_GENERATOR5 6U
0435 #define BDMA_REQUEST_GENERATOR6 7U
0436 #define BDMA_REQUEST_GENERATOR7 8U
0437 #define BDMA_REQUEST_LPUART1_RX 9U
0438 #define BDMA_REQUEST_LPUART1_TX 10U
0439 #define BDMA_REQUEST_SPI6_RX 11U
0440 #define BDMA_REQUEST_SPI6_TX 12U
0441 #define BDMA_REQUEST_I2C4_RX 13U
0442 #define BDMA_REQUEST_I2C4_TX 14U
0443 #if defined(SAI4)
0444 #define BDMA_REQUEST_SAI4_A 15U
0445 #define BDMA_REQUEST_SAI4_B 16U
0446 #endif
0447 #if defined(ADC3)
0448 #define BDMA_REQUEST_ADC3 17U
0449 #endif
0450 #if defined(DAC2)
0451 #define BDMA_REQUEST_DAC2_CH1 17U
0452 #endif
0453 #if defined(DFSDM2_Channel0)
0454 #define BDMA_REQUEST_DFSDM2_FLT0 18U
0455 #endif
0456
0457
0458
0459
0460
0461
0462
0463
0464
0465
0466 #define DMA_PERIPH_TO_MEMORY ((uint32_t)0x00000000U)
0467 #define DMA_MEMORY_TO_PERIPH ((uint32_t)DMA_SxCR_DIR_0)
0468 #define DMA_MEMORY_TO_MEMORY ((uint32_t)DMA_SxCR_DIR_1)
0469
0470
0471
0472
0473
0474
0475
0476
0477
0478 #define DMA_PINC_ENABLE ((uint32_t)DMA_SxCR_PINC)
0479 #define DMA_PINC_DISABLE ((uint32_t)0x00000000U)
0480
0481
0482
0483
0484
0485
0486
0487
0488
0489 #define DMA_MINC_ENABLE ((uint32_t)DMA_SxCR_MINC)
0490 #define DMA_MINC_DISABLE ((uint32_t)0x00000000U)
0491
0492
0493
0494
0495
0496
0497
0498
0499
0500 #define DMA_PDATAALIGN_BYTE ((uint32_t)0x00000000U)
0501 #define DMA_PDATAALIGN_HALFWORD ((uint32_t)DMA_SxCR_PSIZE_0)
0502 #define DMA_PDATAALIGN_WORD ((uint32_t)DMA_SxCR_PSIZE_1)
0503
0504
0505
0506
0507
0508
0509
0510
0511
0512 #define DMA_MDATAALIGN_BYTE ((uint32_t)0x00000000U)
0513 #define DMA_MDATAALIGN_HALFWORD ((uint32_t)DMA_SxCR_MSIZE_0)
0514 #define DMA_MDATAALIGN_WORD ((uint32_t)DMA_SxCR_MSIZE_1)
0515
0516
0517
0518
0519
0520
0521
0522
0523
0524 #define DMA_NORMAL ((uint32_t)0x00000000U)
0525 #define DMA_CIRCULAR ((uint32_t)DMA_SxCR_CIRC)
0526 #define DMA_PFCTRL ((uint32_t)DMA_SxCR_PFCTRL)
0527 #define DMA_DOUBLE_BUFFER_M0 ((uint32_t)DMA_SxCR_DBM)
0528 #define DMA_DOUBLE_BUFFER_M1 ((uint32_t)(DMA_SxCR_DBM | DMA_SxCR_CT))
0529
0530
0531
0532
0533
0534
0535
0536
0537
0538 #define DMA_PRIORITY_LOW ((uint32_t)0x00000000U)
0539 #define DMA_PRIORITY_MEDIUM ((uint32_t)DMA_SxCR_PL_0)
0540 #define DMA_PRIORITY_HIGH ((uint32_t)DMA_SxCR_PL_1)
0541 #define DMA_PRIORITY_VERY_HIGH ((uint32_t)DMA_SxCR_PL)
0542
0543
0544
0545
0546
0547
0548
0549
0550
0551 #define DMA_FIFOMODE_DISABLE ((uint32_t)0x00000000U)
0552 #define DMA_FIFOMODE_ENABLE ((uint32_t)DMA_SxFCR_DMDIS)
0553
0554
0555
0556
0557
0558
0559
0560
0561
0562 #define DMA_FIFO_THRESHOLD_1QUARTERFULL ((uint32_t)0x00000000U)
0563 #define DMA_FIFO_THRESHOLD_HALFFULL ((uint32_t)DMA_SxFCR_FTH_0)
0564 #define DMA_FIFO_THRESHOLD_3QUARTERSFULL ((uint32_t)DMA_SxFCR_FTH_1)
0565 #define DMA_FIFO_THRESHOLD_FULL ((uint32_t)DMA_SxFCR_FTH)
0566
0567
0568
0569
0570
0571
0572
0573
0574
0575 #define DMA_MBURST_SINGLE ((uint32_t)0x00000000U)
0576 #define DMA_MBURST_INC4 ((uint32_t)DMA_SxCR_MBURST_0)
0577 #define DMA_MBURST_INC8 ((uint32_t)DMA_SxCR_MBURST_1)
0578 #define DMA_MBURST_INC16 ((uint32_t)DMA_SxCR_MBURST)
0579
0580
0581
0582
0583
0584
0585
0586
0587
0588 #define DMA_PBURST_SINGLE ((uint32_t)0x00000000U)
0589 #define DMA_PBURST_INC4 ((uint32_t)DMA_SxCR_PBURST_0)
0590 #define DMA_PBURST_INC8 ((uint32_t)DMA_SxCR_PBURST_1)
0591 #define DMA_PBURST_INC16 ((uint32_t)DMA_SxCR_PBURST)
0592
0593
0594
0595
0596
0597
0598
0599
0600
0601 #define DMA_IT_TC ((uint32_t)DMA_SxCR_TCIE)
0602 #define DMA_IT_HT ((uint32_t)DMA_SxCR_HTIE)
0603 #define DMA_IT_TE ((uint32_t)DMA_SxCR_TEIE)
0604 #define DMA_IT_DME ((uint32_t)DMA_SxCR_DMEIE)
0605 #define DMA_IT_FE ((uint32_t)0x00000080U)
0606
0607
0608
0609
0610
0611
0612
0613
0614
0615 #define DMA_FLAG_FEIF0_4 ((uint32_t)0x00000001U)
0616 #define DMA_FLAG_DMEIF0_4 ((uint32_t)0x00000004U)
0617 #define DMA_FLAG_TEIF0_4 ((uint32_t)0x00000008U)
0618 #define DMA_FLAG_HTIF0_4 ((uint32_t)0x00000010U)
0619 #define DMA_FLAG_TCIF0_4 ((uint32_t)0x00000020U)
0620 #define DMA_FLAG_FEIF1_5 ((uint32_t)0x00000040U)
0621 #define DMA_FLAG_DMEIF1_5 ((uint32_t)0x00000100U)
0622 #define DMA_FLAG_TEIF1_5 ((uint32_t)0x00000200U)
0623 #define DMA_FLAG_HTIF1_5 ((uint32_t)0x00000400U)
0624 #define DMA_FLAG_TCIF1_5 ((uint32_t)0x00000800U)
0625 #define DMA_FLAG_FEIF2_6 ((uint32_t)0x00010000U)
0626 #define DMA_FLAG_DMEIF2_6 ((uint32_t)0x00040000U)
0627 #define DMA_FLAG_TEIF2_6 ((uint32_t)0x00080000U)
0628 #define DMA_FLAG_HTIF2_6 ((uint32_t)0x00100000U)
0629 #define DMA_FLAG_TCIF2_6 ((uint32_t)0x00200000U)
0630 #define DMA_FLAG_FEIF3_7 ((uint32_t)0x00400000U)
0631 #define DMA_FLAG_DMEIF3_7 ((uint32_t)0x01000000U)
0632 #define DMA_FLAG_TEIF3_7 ((uint32_t)0x02000000U)
0633 #define DMA_FLAG_HTIF3_7 ((uint32_t)0x04000000U)
0634 #define DMA_FLAG_TCIF3_7 ((uint32_t)0x08000000U)
0635
0636
0637
0638
0639
0640
0641
0642
0643
0644 #define BDMA_FLAG_GL0 ((uint32_t)0x00000001)
0645 #define BDMA_FLAG_TC0 ((uint32_t)0x00000002)
0646 #define BDMA_FLAG_HT0 ((uint32_t)0x00000004)
0647 #define BDMA_FLAG_TE0 ((uint32_t)0x00000008)
0648 #define BDMA_FLAG_GL1 ((uint32_t)0x00000010)
0649 #define BDMA_FLAG_TC1 ((uint32_t)0x00000020)
0650 #define BDMA_FLAG_HT1 ((uint32_t)0x00000040)
0651 #define BDMA_FLAG_TE1 ((uint32_t)0x00000080)
0652 #define BDMA_FLAG_GL2 ((uint32_t)0x00000100)
0653 #define BDMA_FLAG_TC2 ((uint32_t)0x00000200)
0654 #define BDMA_FLAG_HT2 ((uint32_t)0x00000400)
0655 #define BDMA_FLAG_TE2 ((uint32_t)0x00000800)
0656 #define BDMA_FLAG_GL3 ((uint32_t)0x00001000)
0657 #define BDMA_FLAG_TC3 ((uint32_t)0x00002000)
0658 #define BDMA_FLAG_HT3 ((uint32_t)0x00004000)
0659 #define BDMA_FLAG_TE3 ((uint32_t)0x00008000)
0660 #define BDMA_FLAG_GL4 ((uint32_t)0x00010000)
0661 #define BDMA_FLAG_TC4 ((uint32_t)0x00020000)
0662 #define BDMA_FLAG_HT4 ((uint32_t)0x00040000)
0663 #define BDMA_FLAG_TE4 ((uint32_t)0x00080000)
0664 #define BDMA_FLAG_GL5 ((uint32_t)0x00100000)
0665 #define BDMA_FLAG_TC5 ((uint32_t)0x00200000)
0666 #define BDMA_FLAG_HT5 ((uint32_t)0x00400000)
0667 #define BDMA_FLAG_TE5 ((uint32_t)0x00800000)
0668 #define BDMA_FLAG_GL6 ((uint32_t)0x01000000)
0669 #define BDMA_FLAG_TC6 ((uint32_t)0x02000000)
0670 #define BDMA_FLAG_HT6 ((uint32_t)0x04000000)
0671 #define BDMA_FLAG_TE6 ((uint32_t)0x08000000)
0672 #define BDMA_FLAG_GL7 ((uint32_t)0x10000000)
0673 #define BDMA_FLAG_TC7 ((uint32_t)0x20000000)
0674 #define BDMA_FLAG_HT7 ((uint32_t)0x40000000)
0675 #define BDMA_FLAG_TE7 ((uint32_t)0x80000000)
0676
0677
0678
0679
0680
0681
0682
0683
0684
0685
0686
0687
0688
0689
0690
0691
0692
0693
0694
0695 #define __HAL_DMA_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DMA_STATE_RESET)
0696
0697
0698
0699
0700
0701
0702
0703
0704
0705
0706
0707
0708
0709 #define __HAL_DMA_GET_FS(__HANDLE__) ((IS_DMA_STREAM_INSTANCE((__HANDLE__)->Instance))? (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->FCR & (DMA_SxFCR_FS)) : 0)
0710
0711
0712
0713
0714
0715
0716 #define __HAL_DMA_ENABLE(__HANDLE__) \
0717 ((IS_DMA_STREAM_INSTANCE((__HANDLE__)->Instance))? (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR |= DMA_SxCR_EN) : \
0718 (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR |= BDMA_CCR_EN))
0719
0720
0721
0722
0723
0724
0725 #define __HAL_DMA_DISABLE(__HANDLE__) \
0726 ((IS_DMA_STREAM_INSTANCE((__HANDLE__)->Instance))? (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR &= ~DMA_SxCR_EN) : \
0727 (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR &= ~BDMA_CCR_EN))
0728
0729
0730
0731
0732
0733
0734
0735
0736 #if defined(BDMA1)
0737 #define __HAL_DMA_GET_TC_FLAG_INDEX(__HANDLE__) \
0738 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_TCIF0_4 :\
0739 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_TCIF0_4 :\
0740 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_TCIF0_4 :\
0741 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_TCIF0_4 :\
0742 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_TCIF1_5 :\
0743 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_TCIF1_5 :\
0744 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_TCIF1_5 :\
0745 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_TCIF1_5 :\
0746 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_TCIF2_6 :\
0747 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_TCIF2_6 :\
0748 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_TCIF2_6 :\
0749 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_TCIF2_6 :\
0750 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_TCIF3_7 :\
0751 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_TCIF3_7 :\
0752 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_TCIF3_7 :\
0753 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_TCIF3_7 :\
0754 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel0))? BDMA_FLAG_TC0 :\
0755 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel0))? BDMA_FLAG_TC0 :\
0756 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel1))? BDMA_FLAG_TC1 :\
0757 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel1))? BDMA_FLAG_TC1 :\
0758 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel2))? BDMA_FLAG_TC2 :\
0759 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel2))? BDMA_FLAG_TC2 :\
0760 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel3))? BDMA_FLAG_TC3 :\
0761 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel3))? BDMA_FLAG_TC3 :\
0762 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel4))? BDMA_FLAG_TC4 :\
0763 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel4))? BDMA_FLAG_TC4 :\
0764 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel5))? BDMA_FLAG_TC5 :\
0765 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel5))? BDMA_FLAG_TC5 :\
0766 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel6))? BDMA_FLAG_TC6 :\
0767 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel6))? BDMA_FLAG_TC6 :\
0768 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel7))? BDMA_FLAG_TC7 :\
0769 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel7))? BDMA_FLAG_TC7 :\
0770 (uint32_t)0x00000000)
0771 #else
0772 #define __HAL_DMA_GET_TC_FLAG_INDEX(__HANDLE__) \
0773 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_TCIF0_4 :\
0774 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_TCIF0_4 :\
0775 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_TCIF0_4 :\
0776 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_TCIF0_4 :\
0777 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_TCIF1_5 :\
0778 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_TCIF1_5 :\
0779 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_TCIF1_5 :\
0780 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_TCIF1_5 :\
0781 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_TCIF2_6 :\
0782 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_TCIF2_6 :\
0783 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_TCIF2_6 :\
0784 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_TCIF2_6 :\
0785 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_TCIF3_7 :\
0786 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_TCIF3_7 :\
0787 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_TCIF3_7 :\
0788 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_TCIF3_7 :\
0789 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel0))? BDMA_FLAG_TC0 :\
0790 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel1))? BDMA_FLAG_TC1 :\
0791 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel2))? BDMA_FLAG_TC2 :\
0792 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel3))? BDMA_FLAG_TC3 :\
0793 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel4))? BDMA_FLAG_TC4 :\
0794 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel5))? BDMA_FLAG_TC5 :\
0795 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel6))? BDMA_FLAG_TC6 :\
0796 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel7))? BDMA_FLAG_TC7 :\
0797 (uint32_t)0x00000000)
0798 #endif
0799
0800
0801
0802
0803
0804
0805 #if defined(BDMA1)
0806 #define __HAL_DMA_GET_HT_FLAG_INDEX(__HANDLE__)\
0807 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_HTIF0_4 :\
0808 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_HTIF0_4 :\
0809 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_HTIF0_4 :\
0810 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_HTIF0_4 :\
0811 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_HTIF1_5 :\
0812 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_HTIF1_5 :\
0813 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_HTIF1_5 :\
0814 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_HTIF1_5 :\
0815 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_HTIF2_6 :\
0816 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_HTIF2_6 :\
0817 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_HTIF2_6 :\
0818 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_HTIF2_6 :\
0819 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_HTIF3_7 :\
0820 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_HTIF3_7 :\
0821 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_HTIF3_7 :\
0822 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_HTIF3_7 :\
0823 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel0))? BDMA_FLAG_HT0 :\
0824 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel0))? BDMA_FLAG_HT0 :\
0825 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel1))? BDMA_FLAG_HT1 :\
0826 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel1))? BDMA_FLAG_HT1 :\
0827 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel2))? BDMA_FLAG_HT2 :\
0828 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel2))? BDMA_FLAG_HT2 :\
0829 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel3))? BDMA_FLAG_HT3 :\
0830 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel3))? BDMA_FLAG_HT3 :\
0831 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel4))? BDMA_FLAG_HT4 :\
0832 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel4))? BDMA_FLAG_HT4 :\
0833 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel5))? BDMA_FLAG_HT5 :\
0834 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel5))? BDMA_FLAG_HT5 :\
0835 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel6))? BDMA_FLAG_HT6 :\
0836 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel6))? BDMA_FLAG_HT6 :\
0837 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel7))? BDMA_FLAG_HT7 :\
0838 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel7))? BDMA_FLAG_HT7 :\
0839 (uint32_t)0x00000000)
0840 #else
0841 #define __HAL_DMA_GET_HT_FLAG_INDEX(__HANDLE__)\
0842 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_HTIF0_4 :\
0843 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_HTIF0_4 :\
0844 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_HTIF0_4 :\
0845 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_HTIF0_4 :\
0846 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_HTIF1_5 :\
0847 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_HTIF1_5 :\
0848 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_HTIF1_5 :\
0849 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_HTIF1_5 :\
0850 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_HTIF2_6 :\
0851 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_HTIF2_6 :\
0852 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_HTIF2_6 :\
0853 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_HTIF2_6 :\
0854 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_HTIF3_7 :\
0855 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_HTIF3_7 :\
0856 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_HTIF3_7 :\
0857 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_HTIF3_7 :\
0858 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel0))? BDMA_FLAG_HT0 :\
0859 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel1))? BDMA_FLAG_HT1 :\
0860 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel2))? BDMA_FLAG_HT2 :\
0861 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel3))? BDMA_FLAG_HT3 :\
0862 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel4))? BDMA_FLAG_HT4 :\
0863 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel5))? BDMA_FLAG_HT5 :\
0864 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel6))? BDMA_FLAG_HT6 :\
0865 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel7))? BDMA_FLAG_HT7 :\
0866 (uint32_t)0x00000000)
0867 #endif
0868
0869
0870
0871
0872
0873
0874 #if defined(BDMA1)
0875 #define __HAL_DMA_GET_TE_FLAG_INDEX(__HANDLE__)\
0876 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_TEIF0_4 :\
0877 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_TEIF0_4 :\
0878 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_TEIF0_4 :\
0879 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_TEIF0_4 :\
0880 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_TEIF1_5 :\
0881 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_TEIF1_5 :\
0882 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_TEIF1_5 :\
0883 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_TEIF1_5 :\
0884 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_TEIF2_6 :\
0885 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_TEIF2_6 :\
0886 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_TEIF2_6 :\
0887 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_TEIF2_6 :\
0888 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_TEIF3_7 :\
0889 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_TEIF3_7 :\
0890 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_TEIF3_7 :\
0891 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_TEIF3_7 :\
0892 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel0))? BDMA_FLAG_TE0 :\
0893 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel0))? BDMA_FLAG_TE0 :\
0894 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel1))? BDMA_FLAG_TE1 :\
0895 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel1))? BDMA_FLAG_TE1 :\
0896 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel2))? BDMA_FLAG_TE2 :\
0897 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel2))? BDMA_FLAG_TE2 :\
0898 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel3))? BDMA_FLAG_TE3 :\
0899 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel3))? BDMA_FLAG_TE3 :\
0900 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel4))? BDMA_FLAG_TE4 :\
0901 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel4))? BDMA_FLAG_TE4 :\
0902 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel5))? BDMA_FLAG_TE5 :\
0903 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel5))? BDMA_FLAG_TE5 :\
0904 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel6))? BDMA_FLAG_TE6 :\
0905 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel6))? BDMA_FLAG_TE6 :\
0906 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel7))? BDMA_FLAG_TE7 :\
0907 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel7))? BDMA_FLAG_TE7 :\
0908 (uint32_t)0x00000000)
0909 #else
0910 #define __HAL_DMA_GET_TE_FLAG_INDEX(__HANDLE__)\
0911 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_TEIF0_4 :\
0912 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_TEIF0_4 :\
0913 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_TEIF0_4 :\
0914 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_TEIF0_4 :\
0915 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_TEIF1_5 :\
0916 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_TEIF1_5 :\
0917 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_TEIF1_5 :\
0918 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_TEIF1_5 :\
0919 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_TEIF2_6 :\
0920 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_TEIF2_6 :\
0921 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_TEIF2_6 :\
0922 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_TEIF2_6 :\
0923 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_TEIF3_7 :\
0924 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_TEIF3_7 :\
0925 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_TEIF3_7 :\
0926 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_TEIF3_7 :\
0927 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel0))? BDMA_FLAG_TE0 :\
0928 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel1))? BDMA_FLAG_TE1 :\
0929 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel2))? BDMA_FLAG_TE2 :\
0930 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel3))? BDMA_FLAG_TE3 :\
0931 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel4))? BDMA_FLAG_TE4 :\
0932 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel5))? BDMA_FLAG_TE5 :\
0933 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel6))? BDMA_FLAG_TE6 :\
0934 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel7))? BDMA_FLAG_TE7 :\
0935 (uint32_t)0x00000000)
0936 #endif
0937
0938
0939
0940
0941
0942
0943 #define __HAL_DMA_GET_FE_FLAG_INDEX(__HANDLE__)\
0944 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_FEIF0_4 :\
0945 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_FEIF0_4 :\
0946 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_FEIF0_4 :\
0947 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_FEIF0_4 :\
0948 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_FEIF1_5 :\
0949 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_FEIF1_5 :\
0950 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_FEIF1_5 :\
0951 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_FEIF1_5 :\
0952 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_FEIF2_6 :\
0953 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_FEIF2_6 :\
0954 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_FEIF2_6 :\
0955 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_FEIF2_6 :\
0956 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_FEIF3_7 :\
0957 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_FEIF3_7 :\
0958 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_FEIF3_7 :\
0959 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_FEIF3_7 :\
0960 (uint32_t)0x00000000)
0961
0962
0963
0964
0965
0966
0967 #define __HAL_DMA_GET_DME_FLAG_INDEX(__HANDLE__)\
0968 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream0))? DMA_FLAG_DMEIF0_4 :\
0969 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream0))? DMA_FLAG_DMEIF0_4 :\
0970 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream4))? DMA_FLAG_DMEIF0_4 :\
0971 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream4))? DMA_FLAG_DMEIF0_4 :\
0972 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream1))? DMA_FLAG_DMEIF1_5 :\
0973 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream1))? DMA_FLAG_DMEIF1_5 :\
0974 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream5))? DMA_FLAG_DMEIF1_5 :\
0975 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream5))? DMA_FLAG_DMEIF1_5 :\
0976 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream2))? DMA_FLAG_DMEIF2_6 :\
0977 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream2))? DMA_FLAG_DMEIF2_6 :\
0978 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream6))? DMA_FLAG_DMEIF2_6 :\
0979 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream6))? DMA_FLAG_DMEIF2_6 :\
0980 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream3))? DMA_FLAG_DMEIF3_7 :\
0981 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream3))? DMA_FLAG_DMEIF3_7 :\
0982 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA1_Stream7))? DMA_FLAG_DMEIF3_7 :\
0983 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)DMA2_Stream7))? DMA_FLAG_DMEIF3_7 :\
0984 (uint32_t)0x00000000)
0985
0986
0987
0988
0989
0990
0991 #if defined(BDMA1)
0992 #define __HAL_BDMA_GET_GI_FLAG_INDEX(__HANDLE__)\
0993 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel0))? BDMA_ISR_GIF0 :\
0994 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel0))? BDMA_ISR_GIF0 :\
0995 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel1))? BDMA_ISR_GIF1 :\
0996 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel1))? BDMA_ISR_GIF1 :\
0997 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel2))? BDMA_ISR_GIF2 :\
0998 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel2))? BDMA_ISR_GIF2 :\
0999 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel3))? BDMA_ISR_GIF3 :\
1000 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel3))? BDMA_ISR_GIF3 :\
1001 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel4))? BDMA_ISR_GIF4 :\
1002 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel4))? BDMA_ISR_GIF4 :\
1003 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel5))? BDMA_ISR_GIF5 :\
1004 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel5))? BDMA_ISR_GIF5 :\
1005 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel6))? BDMA_ISR_GIF6 :\
1006 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel6))? BDMA_ISR_GIF6 :\
1007 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA1_Channel7))? BDMA_ISR_GIF7 :\
1008 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA2_Channel7))? BDMA_ISR_GIF7 :\
1009 (uint32_t)0x00000000)
1010 #else
1011 #define __HAL_BDMA_GET_GI_FLAG_INDEX(__HANDLE__)\
1012 (((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel0))? BDMA_ISR_GIF0 :\
1013 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel1))? BDMA_ISR_GIF1 :\
1014 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel2))? BDMA_ISR_GIF2 :\
1015 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel3))? BDMA_ISR_GIF3 :\
1016 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel4))? BDMA_ISR_GIF4 :\
1017 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel5))? BDMA_ISR_GIF5 :\
1018 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel6))? BDMA_ISR_GIF6 :\
1019 ((uint32_t)((__HANDLE__)->Instance) == ((uint32_t)BDMA_Channel7))? BDMA_ISR_GIF7 :\
1020 (uint32_t)0x00000000)
1021 #endif
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036 #if defined(BDMA1)
1037 #define __HAL_DMA_GET_FLAG(__HANDLE__, __FLAG__)\
1038 (((uint32_t)((__HANDLE__)->Instance) > (uint32_t)BDMA1_Channel7)? (BDMA2->ISR & (__FLAG__)) :\
1039 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream7 )? (BDMA1->ISR & (__FLAG__)) :\
1040 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream3 )? (DMA2->HISR & (__FLAG__)) :\
1041 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream7 )? (DMA2->LISR & (__FLAG__)) :\
1042 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream3 )? (DMA1->HISR & (__FLAG__)) : (DMA1->LISR & (__FLAG__)))
1043 #else
1044 #define __HAL_DMA_GET_FLAG(__HANDLE__, __FLAG__)\
1045 (((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream7)? (BDMA->ISR & (__FLAG__)) :\
1046 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream3)? (DMA2->HISR & (__FLAG__)) :\
1047 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream7)? (DMA2->LISR & (__FLAG__)) :\
1048 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream3)? (DMA1->HISR & (__FLAG__)) : (DMA1->LISR & (__FLAG__)))
1049 #endif
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064 #if defined(BDMA1)
1065 #define __HAL_DMA_CLEAR_FLAG(__HANDLE__, __FLAG__) \
1066 (((uint32_t)((__HANDLE__)->Instance) > (uint32_t)BDMA1_Channel7)? (BDMA2->IFCR = (__FLAG__)) :\
1067 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream7)? (BDMA1->IFCR = (__FLAG__)) :\
1068 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream3)? (DMA2->HIFCR = (__FLAG__)) :\
1069 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream7)? (DMA2->LIFCR = (__FLAG__)) :\
1070 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream3)? (DMA1->HIFCR = (__FLAG__)) : (DMA1->LIFCR = (__FLAG__)))
1071 #else
1072 #define __HAL_DMA_CLEAR_FLAG(__HANDLE__, __FLAG__) \
1073 (((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream7)? (BDMA->IFCR = (__FLAG__)) :\
1074 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream3)? (DMA2->HIFCR = (__FLAG__)) :\
1075 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream7)? (DMA2->LIFCR = (__FLAG__)) :\
1076 ((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream3)? (DMA1->HIFCR = (__FLAG__)) : (DMA1->LIFCR = (__FLAG__)))
1077 #endif
1078
1079 #define DMA_TO_BDMA_IT(__DMA_IT__) \
1080 ((((__DMA_IT__) & (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE)) == (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE)) ? (BDMA_CCR_TCIE | BDMA_CCR_HTIE |BDMA_CCR_TEIE) :\
1081 (((__DMA_IT__) & (DMA_IT_TC | DMA_IT_HT)) == (DMA_IT_TC | DMA_IT_HT)) ? (BDMA_CCR_TCIE | BDMA_CCR_HTIE) :\
1082 (((__DMA_IT__) & (DMA_IT_HT | DMA_IT_TE)) == (DMA_IT_HT | DMA_IT_TE)) ? (BDMA_CCR_HTIE |BDMA_CCR_TEIE) :\
1083 (((__DMA_IT__) & (DMA_IT_TC | DMA_IT_TE)) == (DMA_IT_TC | DMA_IT_TE)) ? (BDMA_CCR_TCIE |BDMA_CCR_TEIE) :\
1084 ((__DMA_IT__) == DMA_IT_TC) ? BDMA_CCR_TCIE :\
1085 ((__DMA_IT__) == DMA_IT_HT) ? BDMA_CCR_HTIE :\
1086 ((__DMA_IT__) == DMA_IT_TE) ? BDMA_CCR_TEIE :\
1087 (uint32_t)0x00000000)
1088
1089
1090 #define __HAL_BDMA_CHANNEL_ENABLE_IT(__HANDLE__, __INTERRUPT__) \
1091 (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR |= (DMA_TO_BDMA_IT(__INTERRUPT__)))
1092
1093 #define __HAL_DMA_STREAM_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) != DMA_IT_FE)? \
1094 (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR |= (__INTERRUPT__)) : (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->FCR |= (__INTERRUPT__)))
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108 #define __HAL_DMA_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((IS_DMA_STREAM_INSTANCE((__HANDLE__)->Instance))?\
1109 (__HAL_DMA_STREAM_ENABLE_IT((__HANDLE__), (__INTERRUPT__))) :\
1110 (__HAL_BDMA_CHANNEL_ENABLE_IT((__HANDLE__), (__INTERRUPT__))))
1111
1112
1113 #define __HAL_BDMA_CHANNEL_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR &= ~(DMA_TO_BDMA_IT(__INTERRUPT__)))
1114
1115 #define __HAL_DMA_STREAM_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) != DMA_IT_FE)? \
1116 (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR &= ~(__INTERRUPT__)) : (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->FCR &= ~(__INTERRUPT__)))
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130 #define __HAL_DMA_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((IS_DMA_STREAM_INSTANCE((__HANDLE__)->Instance))?\
1131 (__HAL_DMA_STREAM_DISABLE_IT((__HANDLE__), (__INTERRUPT__))) :\
1132 (__HAL_BDMA_CHANNEL_DISABLE_IT((__HANDLE__), (__INTERRUPT__))))
1133
1134
1135 #define __HAL_BDMA_CHANNEL_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CCR & (DMA_TO_BDMA_IT(__INTERRUPT__))))
1136
1137 #define __HAL_DMA_STREAM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) != DMA_IT_FE)? \
1138 (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->CR & (__INTERRUPT__)) : \
1139 (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->FCR & (__INTERRUPT__)))
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153 #define __HAL_DMA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((IS_DMA_STREAM_INSTANCE((__HANDLE__)->Instance))? \
1154 (__HAL_DMA_STREAM_GET_IT_SOURCE((__HANDLE__), (__INTERRUPT__))) :\
1155 (__HAL_BDMA_CHANNEL_GET_IT_SOURCE((__HANDLE__), (__INTERRUPT__))))
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174 #define __HAL_DMA_SET_COUNTER(__HANDLE__, __COUNTER__) ((IS_DMA_STREAM_INSTANCE((__HANDLE__)->Instance))? \
1175 (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->NDTR = (uint16_t)(__COUNTER__)) :\
1176 (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CNDTR = (uint16_t)(__COUNTER__)))
1177
1178
1179
1180
1181
1182
1183
1184 #define __HAL_DMA_GET_COUNTER(__HANDLE__) ((IS_DMA_STREAM_INSTANCE((__HANDLE__)->Instance))? \
1185 (((DMA_Stream_TypeDef *)(__HANDLE__)->Instance)->NDTR) :\
1186 (((BDMA_Channel_TypeDef *)(__HANDLE__)->Instance)->CNDTR))
1187
1188
1189
1190
1191
1192
1193 #include "stm32h7xx_hal_dma_ex.h"
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208 HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma);
1209 HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma);
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219 HAL_StatusTypeDef HAL_DMA_Start (DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength);
1220 HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength);
1221 HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma);
1222 HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma);
1223 HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_DMA_LevelCompleteTypeDef CompleteLevel, uint32_t Timeout);
1224 void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma);
1225 HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef CallbackID, void (* pCallback)(DMA_HandleTypeDef *_hdma));
1226 HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef CallbackID);
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237 HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma);
1238 uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma);
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271 #if defined(TIM24)
1272 #define IS_DMA_REQUEST(REQUEST) (((REQUEST) <= DMA_REQUEST_TIM24_TRIG))
1273 #elif defined(ADC3)
1274 #define IS_DMA_REQUEST(REQUEST) (((REQUEST) <= DMA_REQUEST_ADC3))
1275 #else
1276 #define IS_DMA_REQUEST(REQUEST) (((REQUEST) <= DMA_REQUEST_USART10_TX))
1277 #endif
1278
1279 #if defined(ADC3)
1280 #define IS_BDMA_REQUEST(REQUEST) (((REQUEST) <= BDMA_REQUEST_ADC3))
1281 #else
1282 #define IS_BDMA_REQUEST(REQUEST) (((REQUEST) <= BDMA_REQUEST_DFSDM2_FLT0))
1283 #endif
1284
1285 #define IS_DMA_DIRECTION(DIRECTION) (((DIRECTION) == DMA_PERIPH_TO_MEMORY ) || \
1286 ((DIRECTION) == DMA_MEMORY_TO_PERIPH) || \
1287 ((DIRECTION) == DMA_MEMORY_TO_MEMORY))
1288
1289 #define IS_DMA_BUFFER_SIZE(SIZE) (((SIZE) >= 0x01U) && ((SIZE) < 0x10000U))
1290
1291 #define IS_DMA_PERIPHERAL_INC_STATE(STATE) (((STATE) == DMA_PINC_ENABLE) || \
1292 ((STATE) == DMA_PINC_DISABLE))
1293
1294 #define IS_DMA_MEMORY_INC_STATE(STATE) (((STATE) == DMA_MINC_ENABLE) || \
1295 ((STATE) == DMA_MINC_DISABLE))
1296
1297 #define IS_DMA_PERIPHERAL_DATA_SIZE(SIZE) (((SIZE) == DMA_PDATAALIGN_BYTE) || \
1298 ((SIZE) == DMA_PDATAALIGN_HALFWORD) || \
1299 ((SIZE) == DMA_PDATAALIGN_WORD))
1300
1301 #define IS_DMA_MEMORY_DATA_SIZE(SIZE) (((SIZE) == DMA_MDATAALIGN_BYTE) || \
1302 ((SIZE) == DMA_MDATAALIGN_HALFWORD) || \
1303 ((SIZE) == DMA_MDATAALIGN_WORD ))
1304
1305 #define IS_DMA_MODE(MODE) (((MODE) == DMA_NORMAL ) || \
1306 ((MODE) == DMA_CIRCULAR) || \
1307 ((MODE) == DMA_PFCTRL) || \
1308 ((MODE) == DMA_DOUBLE_BUFFER_M0) || \
1309 ((MODE) == DMA_DOUBLE_BUFFER_M1))
1310
1311 #define IS_DMA_PRIORITY(PRIORITY) (((PRIORITY) == DMA_PRIORITY_LOW ) || \
1312 ((PRIORITY) == DMA_PRIORITY_MEDIUM) || \
1313 ((PRIORITY) == DMA_PRIORITY_HIGH) || \
1314 ((PRIORITY) == DMA_PRIORITY_VERY_HIGH))
1315
1316 #define IS_DMA_FIFO_MODE_STATE(STATE) (((STATE) == DMA_FIFOMODE_DISABLE ) || \
1317 ((STATE) == DMA_FIFOMODE_ENABLE))
1318
1319 #define IS_DMA_FIFO_THRESHOLD(THRESHOLD) (((THRESHOLD) == DMA_FIFO_THRESHOLD_1QUARTERFULL ) || \
1320 ((THRESHOLD) == DMA_FIFO_THRESHOLD_HALFFULL) || \
1321 ((THRESHOLD) == DMA_FIFO_THRESHOLD_3QUARTERSFULL) || \
1322 ((THRESHOLD) == DMA_FIFO_THRESHOLD_FULL))
1323
1324 #define IS_DMA_MEMORY_BURST(BURST) (((BURST) == DMA_MBURST_SINGLE) || \
1325 ((BURST) == DMA_MBURST_INC4) || \
1326 ((BURST) == DMA_MBURST_INC8) || \
1327 ((BURST) == DMA_MBURST_INC16))
1328
1329 #define IS_DMA_PERIPHERAL_BURST(BURST) (((BURST) == DMA_PBURST_SINGLE) || \
1330 ((BURST) == DMA_PBURST_INC4) || \
1331 ((BURST) == DMA_PBURST_INC8) || \
1332 ((BURST) == DMA_PBURST_INC16))
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355 #ifdef __cplusplus
1356 }
1357 #endif
1358
1359 #endif
1360