21 #ifndef STM32L4xx_LL_DMA_H 22 #define STM32L4xx_LL_DMA_H 29 #include "stm32l4xx.h" 38 #if defined (DMA1) || defined (DMA2) 52 (uint8_t)(DMA1_Channel1_BASE - DMA1_BASE),
53 (uint8_t)(DMA1_Channel2_BASE - DMA1_BASE),
54 (uint8_t)(DMA1_Channel3_BASE - DMA1_BASE),
55 (uint8_t)(DMA1_Channel4_BASE - DMA1_BASE),
56 (uint8_t)(DMA1_Channel5_BASE - DMA1_BASE),
57 (uint8_t)(DMA1_Channel6_BASE - DMA1_BASE),
58 (uint8_t)(DMA1_Channel7_BASE - DMA1_BASE)
71 #define DMA_CSELR_OFFSET (uint32_t)(DMA1_CSELR_BASE - DMA1_BASE) 74 #define DMA_POSITION_CSELR_CXS POSITION_VAL(DMA_CSELR_C1S << (Channel*4U)) 93 #define __LL_DMA_INSTANCE_TO_DMAMUX_CHANNEL(__DMA_INSTANCE__) \ 94 (((__DMA_INSTANCE__) == DMA1) ? 0x00000000U : LL_DMA_CHANNEL_7) 100 #if defined(USE_FULL_LL_DRIVER) 111 #if defined(USE_FULL_LL_DRIVER) 178 uint32_t PeriphRequest;
203 #define LL_DMA_IFCR_CGIF1 DMA_IFCR_CGIF1 204 #define LL_DMA_IFCR_CTCIF1 DMA_IFCR_CTCIF1 205 #define LL_DMA_IFCR_CHTIF1 DMA_IFCR_CHTIF1 206 #define LL_DMA_IFCR_CTEIF1 DMA_IFCR_CTEIF1 207 #define LL_DMA_IFCR_CGIF2 DMA_IFCR_CGIF2 208 #define LL_DMA_IFCR_CTCIF2 DMA_IFCR_CTCIF2 209 #define LL_DMA_IFCR_CHTIF2 DMA_IFCR_CHTIF2 210 #define LL_DMA_IFCR_CTEIF2 DMA_IFCR_CTEIF2 211 #define LL_DMA_IFCR_CGIF3 DMA_IFCR_CGIF3 212 #define LL_DMA_IFCR_CTCIF3 DMA_IFCR_CTCIF3 213 #define LL_DMA_IFCR_CHTIF3 DMA_IFCR_CHTIF3 214 #define LL_DMA_IFCR_CTEIF3 DMA_IFCR_CTEIF3 215 #define LL_DMA_IFCR_CGIF4 DMA_IFCR_CGIF4 216 #define LL_DMA_IFCR_CTCIF4 DMA_IFCR_CTCIF4 217 #define LL_DMA_IFCR_CHTIF4 DMA_IFCR_CHTIF4 218 #define LL_DMA_IFCR_CTEIF4 DMA_IFCR_CTEIF4 219 #define LL_DMA_IFCR_CGIF5 DMA_IFCR_CGIF5 220 #define LL_DMA_IFCR_CTCIF5 DMA_IFCR_CTCIF5 221 #define LL_DMA_IFCR_CHTIF5 DMA_IFCR_CHTIF5 222 #define LL_DMA_IFCR_CTEIF5 DMA_IFCR_CTEIF5 223 #define LL_DMA_IFCR_CGIF6 DMA_IFCR_CGIF6 224 #define LL_DMA_IFCR_CTCIF6 DMA_IFCR_CTCIF6 225 #define LL_DMA_IFCR_CHTIF6 DMA_IFCR_CHTIF6 226 #define LL_DMA_IFCR_CTEIF6 DMA_IFCR_CTEIF6 227 #define LL_DMA_IFCR_CGIF7 DMA_IFCR_CGIF7 228 #define LL_DMA_IFCR_CTCIF7 DMA_IFCR_CTCIF7 229 #define LL_DMA_IFCR_CHTIF7 DMA_IFCR_CHTIF7 230 #define LL_DMA_IFCR_CTEIF7 DMA_IFCR_CTEIF7 239 #define LL_DMA_ISR_GIF1 DMA_ISR_GIF1 240 #define LL_DMA_ISR_TCIF1 DMA_ISR_TCIF1 241 #define LL_DMA_ISR_HTIF1 DMA_ISR_HTIF1 242 #define LL_DMA_ISR_TEIF1 DMA_ISR_TEIF1 243 #define LL_DMA_ISR_GIF2 DMA_ISR_GIF2 244 #define LL_DMA_ISR_TCIF2 DMA_ISR_TCIF2 245 #define LL_DMA_ISR_HTIF2 DMA_ISR_HTIF2 246 #define LL_DMA_ISR_TEIF2 DMA_ISR_TEIF2 247 #define LL_DMA_ISR_GIF3 DMA_ISR_GIF3 248 #define LL_DMA_ISR_TCIF3 DMA_ISR_TCIF3 249 #define LL_DMA_ISR_HTIF3 DMA_ISR_HTIF3 250 #define LL_DMA_ISR_TEIF3 DMA_ISR_TEIF3 251 #define LL_DMA_ISR_GIF4 DMA_ISR_GIF4 252 #define LL_DMA_ISR_TCIF4 DMA_ISR_TCIF4 253 #define LL_DMA_ISR_HTIF4 DMA_ISR_HTIF4 254 #define LL_DMA_ISR_TEIF4 DMA_ISR_TEIF4 255 #define LL_DMA_ISR_GIF5 DMA_ISR_GIF5 256 #define LL_DMA_ISR_TCIF5 DMA_ISR_TCIF5 257 #define LL_DMA_ISR_HTIF5 DMA_ISR_HTIF5 258 #define LL_DMA_ISR_TEIF5 DMA_ISR_TEIF5 259 #define LL_DMA_ISR_GIF6 DMA_ISR_GIF6 260 #define LL_DMA_ISR_TCIF6 DMA_ISR_TCIF6 261 #define LL_DMA_ISR_HTIF6 DMA_ISR_HTIF6 262 #define LL_DMA_ISR_TEIF6 DMA_ISR_TEIF6 263 #define LL_DMA_ISR_GIF7 DMA_ISR_GIF7 264 #define LL_DMA_ISR_TCIF7 DMA_ISR_TCIF7 265 #define LL_DMA_ISR_HTIF7 DMA_ISR_HTIF7 266 #define LL_DMA_ISR_TEIF7 DMA_ISR_TEIF7 275 #define LL_DMA_CCR_TCIE DMA_CCR_TCIE 276 #define LL_DMA_CCR_HTIE DMA_CCR_HTIE 277 #define LL_DMA_CCR_TEIE DMA_CCR_TEIE 285 #define LL_DMA_CHANNEL_1 0x00000000U 286 #define LL_DMA_CHANNEL_2 0x00000001U 287 #define LL_DMA_CHANNEL_3 0x00000002U 288 #define LL_DMA_CHANNEL_4 0x00000003U 289 #define LL_DMA_CHANNEL_5 0x00000004U 290 #define LL_DMA_CHANNEL_6 0x00000005U 291 #define LL_DMA_CHANNEL_7 0x00000006U 292 #if defined(USE_FULL_LL_DRIVER) 293 #define LL_DMA_CHANNEL_ALL 0xFFFF0000U 302 #define LL_DMA_DIRECTION_PERIPH_TO_MEMORY 0x00000000U 303 #define LL_DMA_DIRECTION_MEMORY_TO_PERIPH DMA_CCR_DIR 304 #define LL_DMA_DIRECTION_MEMORY_TO_MEMORY DMA_CCR_MEM2MEM 312 #define LL_DMA_MODE_NORMAL 0x00000000U 313 #define LL_DMA_MODE_CIRCULAR DMA_CCR_CIRC 321 #define LL_DMA_PERIPH_INCREMENT DMA_CCR_PINC 322 #define LL_DMA_PERIPH_NOINCREMENT 0x00000000U 330 #define LL_DMA_MEMORY_INCREMENT DMA_CCR_MINC 331 #define LL_DMA_MEMORY_NOINCREMENT 0x00000000U 339 #define LL_DMA_PDATAALIGN_BYTE 0x00000000U 340 #define LL_DMA_PDATAALIGN_HALFWORD DMA_CCR_PSIZE_0 341 #define LL_DMA_PDATAALIGN_WORD DMA_CCR_PSIZE_1 349 #define LL_DMA_MDATAALIGN_BYTE 0x00000000U 350 #define LL_DMA_MDATAALIGN_HALFWORD DMA_CCR_MSIZE_0 351 #define LL_DMA_MDATAALIGN_WORD DMA_CCR_MSIZE_1 359 #define LL_DMA_PRIORITY_LOW 0x00000000U 360 #define LL_DMA_PRIORITY_MEDIUM DMA_CCR_PL_0 361 #define LL_DMA_PRIORITY_HIGH DMA_CCR_PL_1 362 #define LL_DMA_PRIORITY_VERYHIGH DMA_CCR_PL 367 #if !defined (DMAMUX1) 371 #define LL_DMA_REQUEST_0 0x00000000U 372 #define LL_DMA_REQUEST_1 0x00000001U 373 #define LL_DMA_REQUEST_2 0x00000002U 374 #define LL_DMA_REQUEST_3 0x00000003U 375 #define LL_DMA_REQUEST_4 0x00000004U 376 #define LL_DMA_REQUEST_5 0x00000005U 377 #define LL_DMA_REQUEST_6 0x00000006U 378 #define LL_DMA_REQUEST_7 0x00000007U 403 #define LL_DMA_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__)) 411 #define LL_DMA_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__) 425 #define __LL_DMA_GET_INSTANCE(__CHANNEL_INSTANCE__) \ 426 (((uint32_t)(__CHANNEL_INSTANCE__) > ((uint32_t)DMA1_Channel7)) ? DMA2 : DMA1) 428 #define __LL_DMA_GET_INSTANCE(__CHANNEL_INSTANCE__) (DMA1) 437 #if defined (DMA2_Channel6) && defined (DMA2_Channel7) 438 #define __LL_DMA_GET_CHANNEL(__CHANNEL_INSTANCE__) \ 439 (((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel1)) ? LL_DMA_CHANNEL_1 : \ 440 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel1)) ? LL_DMA_CHANNEL_1 : \ 441 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel2)) ? LL_DMA_CHANNEL_2 : \ 442 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel2)) ? LL_DMA_CHANNEL_2 : \ 443 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel3)) ? LL_DMA_CHANNEL_3 : \ 444 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel3)) ? LL_DMA_CHANNEL_3 : \ 445 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel4)) ? LL_DMA_CHANNEL_4 : \ 446 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel4)) ? LL_DMA_CHANNEL_4 : \ 447 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel5)) ? LL_DMA_CHANNEL_5 : \ 448 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel5)) ? LL_DMA_CHANNEL_5 : \ 449 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel6)) ? LL_DMA_CHANNEL_6 : \ 450 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel6)) ? LL_DMA_CHANNEL_6 : \ 453 #define __LL_DMA_GET_CHANNEL(__CHANNEL_INSTANCE__) \ 454 (((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel1)) ? LL_DMA_CHANNEL_1 : \ 455 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel1)) ? LL_DMA_CHANNEL_1 : \ 456 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel2)) ? LL_DMA_CHANNEL_2 : \ 457 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel2)) ? LL_DMA_CHANNEL_2 : \ 458 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel3)) ? LL_DMA_CHANNEL_3 : \ 459 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel3)) ? LL_DMA_CHANNEL_3 : \ 460 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel4)) ? LL_DMA_CHANNEL_4 : \ 461 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel4)) ? LL_DMA_CHANNEL_4 : \ 462 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel5)) ? LL_DMA_CHANNEL_5 : \ 463 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA2_Channel5)) ? LL_DMA_CHANNEL_5 : \ 464 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel6)) ? LL_DMA_CHANNEL_6 : \ 468 #define __LL_DMA_GET_CHANNEL(__CHANNEL_INSTANCE__) \ 469 (((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel1)) ? LL_DMA_CHANNEL_1 : \ 470 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel2)) ? LL_DMA_CHANNEL_2 : \ 471 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel3)) ? LL_DMA_CHANNEL_3 : \ 472 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel4)) ? LL_DMA_CHANNEL_4 : \ 473 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel5)) ? LL_DMA_CHANNEL_5 : \ 474 ((uint32_t)(__CHANNEL_INSTANCE__) == ((uint32_t)DMA1_Channel6)) ? LL_DMA_CHANNEL_6 : \ 485 #if defined (DMA2_Channel6) && defined (DMA2_Channel7) 486 #define __LL_DMA_GET_CHANNEL_INSTANCE(__DMA_INSTANCE__, __CHANNEL__) \ 487 ((((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_1))) ? DMA1_Channel1 : \ 488 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_1))) ? DMA2_Channel1 : \ 489 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_2))) ? DMA1_Channel2 : \ 490 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_2))) ? DMA2_Channel2 : \ 491 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_3))) ? DMA1_Channel3 : \ 492 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_3))) ? DMA2_Channel3 : \ 493 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_4))) ? DMA1_Channel4 : \ 494 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_4))) ? DMA2_Channel4 : \ 495 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_5))) ? DMA1_Channel5 : \ 496 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_5))) ? DMA2_Channel5 : \ 497 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_6))) ? DMA1_Channel6 : \ 498 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_6))) ? DMA2_Channel6 : \ 499 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_7))) ? DMA1_Channel7 : \ 502 #define __LL_DMA_GET_CHANNEL_INSTANCE(__DMA_INSTANCE__, __CHANNEL__) \ 503 ((((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_1))) ? DMA1_Channel1 : \ 504 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_1))) ? DMA2_Channel1 : \ 505 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_2))) ? DMA1_Channel2 : \ 506 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_2))) ? DMA2_Channel2 : \ 507 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_3))) ? DMA1_Channel3 : \ 508 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_3))) ? DMA2_Channel3 : \ 509 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_4))) ? DMA1_Channel4 : \ 510 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_4))) ? DMA2_Channel4 : \ 511 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_5))) ? DMA1_Channel5 : \ 512 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA2)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_5))) ? DMA2_Channel5 : \ 513 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_6))) ? DMA1_Channel6 : \ 517 #define __LL_DMA_GET_CHANNEL_INSTANCE(__DMA_INSTANCE__, __CHANNEL__) \ 518 ((((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_1))) ? DMA1_Channel1 : \ 519 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_2))) ? DMA1_Channel2 : \ 520 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_3))) ? DMA1_Channel3 : \ 521 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_4))) ? DMA1_Channel4 : \ 522 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_5))) ? DMA1_Channel5 : \ 523 (((uint32_t)(__DMA_INSTANCE__) == ((uint32_t)DMA1)) && ((uint32_t)(__CHANNEL__) == ((uint32_t)LL_DMA_CHANNEL_6))) ? DMA1_Channel6 : \ 559 uint32_t dma_base_addr = (uint32_t)DMAx;
560 SET_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_EN);
579 uint32_t dma_base_addr = (uint32_t)DMAx;
580 CLEAR_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_EN);
599 uint32_t dma_base_addr = (uint32_t)DMAx;
600 return ((READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
601 DMA_CCR_EN) == (DMA_CCR_EN)) ? 1UL : 0UL);
635 uint32_t dma_base_addr = (uint32_t)DMAx;
636 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
637 DMA_CCR_DIR | DMA_CCR_MEM2MEM | DMA_CCR_CIRC | DMA_CCR_PINC | DMA_CCR_MINC | DMA_CCR_PSIZE | DMA_CCR_MSIZE | DMA_CCR_PL,
662 uint32_t dma_base_addr = (uint32_t)DMAx;
663 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
664 DMA_CCR_DIR | DMA_CCR_MEM2MEM, Direction);
687 uint32_t dma_base_addr = (uint32_t)DMAx;
688 return (READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
689 DMA_CCR_DIR | DMA_CCR_MEM2MEM));
711 __STATIC_INLINE
void LL_DMA_SetMode(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Mode)
713 uint32_t dma_base_addr = (uint32_t)DMAx;
714 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_CIRC,
736 uint32_t dma_base_addr = (uint32_t)DMAx;
737 return (READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
760 uint32_t dma_base_addr = (uint32_t)DMAx;
761 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_PINC,
762 PeriphOrM2MSrcIncMode);
783 uint32_t dma_base_addr = (uint32_t)DMAx;
784 return (READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
807 uint32_t dma_base_addr = (uint32_t)DMAx;
808 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_MINC,
809 MemoryOrM2MDstIncMode);
830 uint32_t dma_base_addr = (uint32_t)DMAx;
831 return (READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
853 __STATIC_INLINE
void LL_DMA_SetPeriphSize(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t PeriphOrM2MSrcDataSize)
855 uint32_t dma_base_addr = (uint32_t)DMAx;
856 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_PSIZE,
857 PeriphOrM2MSrcDataSize);
879 uint32_t dma_base_addr = (uint32_t)DMAx;
880 return (READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
902 __STATIC_INLINE
void LL_DMA_SetMemorySize(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryOrM2MDstDataSize)
904 uint32_t dma_base_addr = (uint32_t)DMAx;
905 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_MSIZE,
906 MemoryOrM2MDstDataSize);
928 uint32_t dma_base_addr = (uint32_t)DMAx;
929 return (READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
954 uint32_t dma_base_addr = (uint32_t)DMAx;
955 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_PL,
979 uint32_t dma_base_addr = (uint32_t)DMAx;
980 return (READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
1003 uint32_t dma_base_addr = (uint32_t)DMAx;
1004 MODIFY_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CNDTR,
1005 DMA_CNDTR_NDT, NbData);
1026 uint32_t dma_base_addr = (uint32_t)DMAx;
1027 return (READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CNDTR,
1055 uint32_t DstAddress, uint32_t Direction)
1057 uint32_t dma_base_addr = (uint32_t)DMAx;
1059 if (Direction == LL_DMA_DIRECTION_MEMORY_TO_PERIPH)
1061 WRITE_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CMAR, SrcAddress);
1062 WRITE_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CPAR, DstAddress);
1067 WRITE_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CPAR, SrcAddress);
1068 WRITE_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CMAR, DstAddress);
1091 uint32_t dma_base_addr = (uint32_t)DMAx;
1092 WRITE_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CMAR, MemoryAddress);
1114 uint32_t dma_base_addr = (uint32_t)DMAx;
1115 WRITE_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CPAR, PeriphAddress);
1135 uint32_t dma_base_addr = (uint32_t)DMAx;
1136 return (READ_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CMAR));
1156 uint32_t dma_base_addr = (uint32_t)DMAx;
1157 return (READ_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CPAR));
1179 uint32_t dma_base_addr = (uint32_t)DMAx;
1180 WRITE_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CPAR, MemoryAddress);
1202 uint32_t dma_base_addr = (uint32_t)DMAx;
1203 WRITE_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CMAR, MemoryAddress);
1223 uint32_t dma_base_addr = (uint32_t)DMAx;
1224 return (READ_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CPAR));
1244 uint32_t dma_base_addr = (uint32_t)DMAx;
1245 return (READ_REG(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CMAR));
1248 #if defined(DMAMUX1) 1362 uint32_t dmamux_ccr_offset = ((((uint32_t)DMAx ^ (uint32_t)DMA1) >> 10U) * 7U);
1363 MODIFY_REG((DMAMUX1_Channel0 + Channel + dmamux_ccr_offset)->CCR, DMAMUX_CxCR_DMAREQ_ID, Request);
1478 uint32_t dmamux_ccr_offset = ((((uint32_t)DMAx ^ (uint32_t)DMA1) >> 10U) * 7U);
1479 return (READ_BIT((DMAMUX1_Channel0 + Channel + dmamux_ccr_offset)->CCR, DMAMUX_CxCR_DMAREQ_ID));
1514 MODIFY_REG(((DMA_Request_TypeDef *)((uint32_t)((uint32_t)DMAx + DMA_CSELR_OFFSET)))->CSELR,
1515 DMA_CSELR_C1S << ((Channel) * 4U), PeriphRequest << DMA_POSITION_CSELR_CXS);
1548 return (READ_BIT(((DMA_Request_TypeDef *)((uint32_t)((uint32_t)DMAx + DMA_CSELR_OFFSET)))->CSELR,
1549 DMA_CSELR_C1S << ((Channel) * 4U)) >> DMA_POSITION_CSELR_CXS);
1569 return ((READ_BIT(DMAx->ISR, DMA_ISR_GIF1) == (DMA_ISR_GIF1)) ? 1UL : 0UL);
1580 return ((READ_BIT(DMAx->ISR, DMA_ISR_GIF2) == (DMA_ISR_GIF2)) ? 1UL : 0UL);
1591 return ((READ_BIT(DMAx->ISR, DMA_ISR_GIF3) == (DMA_ISR_GIF3)) ? 1UL : 0UL);
1602 return ((READ_BIT(DMAx->ISR, DMA_ISR_GIF4) == (DMA_ISR_GIF4)) ? 1UL : 0UL);
1613 return ((READ_BIT(DMAx->ISR, DMA_ISR_GIF5) == (DMA_ISR_GIF5)) ? 1UL : 0UL);
1624 return ((READ_BIT(DMAx->ISR, DMA_ISR_GIF6) == (DMA_ISR_GIF6)) ? 1UL : 0UL);
1635 return ((READ_BIT(DMAx->ISR, DMA_ISR_GIF7) == (DMA_ISR_GIF7)) ? 1UL : 0UL);
1646 return ((READ_BIT(DMAx->ISR, DMA_ISR_TCIF1) == (DMA_ISR_TCIF1)) ? 1UL : 0UL);
1657 return ((READ_BIT(DMAx->ISR, DMA_ISR_TCIF2) == (DMA_ISR_TCIF2)) ? 1UL : 0UL);
1668 return ((READ_BIT(DMAx->ISR, DMA_ISR_TCIF3) == (DMA_ISR_TCIF3)) ? 1UL : 0UL);
1679 return ((READ_BIT(DMAx->ISR, DMA_ISR_TCIF4) == (DMA_ISR_TCIF4)) ? 1UL : 0UL);
1690 return ((READ_BIT(DMAx->ISR, DMA_ISR_TCIF5) == (DMA_ISR_TCIF5)) ? 1UL : 0UL);
1701 return ((READ_BIT(DMAx->ISR, DMA_ISR_TCIF6) == (DMA_ISR_TCIF6)) ? 1UL : 0UL);
1712 return ((READ_BIT(DMAx->ISR, DMA_ISR_TCIF7) == (DMA_ISR_TCIF7)) ? 1UL : 0UL);
1723 return ((READ_BIT(DMAx->ISR, DMA_ISR_HTIF1) == (DMA_ISR_HTIF1)) ? 1UL : 0UL);
1734 return ((READ_BIT(DMAx->ISR, DMA_ISR_HTIF2) == (DMA_ISR_HTIF2)) ? 1UL : 0UL);
1745 return ((READ_BIT(DMAx->ISR, DMA_ISR_HTIF3) == (DMA_ISR_HTIF3)) ? 1UL : 0UL);
1756 return ((READ_BIT(DMAx->ISR, DMA_ISR_HTIF4) == (DMA_ISR_HTIF4)) ? 1UL : 0UL);
1767 return ((READ_BIT(DMAx->ISR, DMA_ISR_HTIF5) == (DMA_ISR_HTIF5)) ? 1UL : 0UL);
1778 return ((READ_BIT(DMAx->ISR, DMA_ISR_HTIF6) == (DMA_ISR_HTIF6)) ? 1UL : 0UL);
1789 return ((READ_BIT(DMAx->ISR, DMA_ISR_HTIF7) == (DMA_ISR_HTIF7)) ? 1UL : 0UL);
1800 return ((READ_BIT(DMAx->ISR, DMA_ISR_TEIF1) == (DMA_ISR_TEIF1)) ? 1UL : 0UL);
1811 return ((READ_BIT(DMAx->ISR, DMA_ISR_TEIF2) == (DMA_ISR_TEIF2)) ? 1UL : 0UL);
1822 return ((READ_BIT(DMAx->ISR, DMA_ISR_TEIF3) == (DMA_ISR_TEIF3)) ? 1UL : 0UL);
1833 return ((READ_BIT(DMAx->ISR, DMA_ISR_TEIF4) == (DMA_ISR_TEIF4)) ? 1UL : 0UL);
1844 return ((READ_BIT(DMAx->ISR, DMA_ISR_TEIF5) == (DMA_ISR_TEIF5)) ? 1UL : 0UL);
1855 return ((READ_BIT(DMAx->ISR, DMA_ISR_TEIF6) == (DMA_ISR_TEIF6)) ? 1UL : 0UL);
1866 return ((READ_BIT(DMAx->ISR, DMA_ISR_TEIF7) == (DMA_ISR_TEIF7)) ? 1UL : 0UL);
1877 WRITE_REG(DMAx->IFCR, DMA_IFCR_CGIF1);
1888 WRITE_REG(DMAx->IFCR, DMA_IFCR_CGIF2);
1899 WRITE_REG(DMAx->IFCR, DMA_IFCR_CGIF3);
1910 WRITE_REG(DMAx->IFCR, DMA_IFCR_CGIF4);
1921 WRITE_REG(DMAx->IFCR, DMA_IFCR_CGIF5);
1932 WRITE_REG(DMAx->IFCR, DMA_IFCR_CGIF6);
1943 WRITE_REG(DMAx->IFCR, DMA_IFCR_CGIF7);
1954 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTCIF1);
1965 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTCIF2);
1976 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTCIF3);
1987 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTCIF4);
1998 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTCIF5);
2009 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTCIF6);
2020 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTCIF7);
2031 WRITE_REG(DMAx->IFCR, DMA_IFCR_CHTIF1);
2042 WRITE_REG(DMAx->IFCR, DMA_IFCR_CHTIF2);
2053 WRITE_REG(DMAx->IFCR, DMA_IFCR_CHTIF3);
2064 WRITE_REG(DMAx->IFCR, DMA_IFCR_CHTIF4);
2075 WRITE_REG(DMAx->IFCR, DMA_IFCR_CHTIF5);
2086 WRITE_REG(DMAx->IFCR, DMA_IFCR_CHTIF6);
2097 WRITE_REG(DMAx->IFCR, DMA_IFCR_CHTIF7);
2108 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTEIF1);
2119 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTEIF2);
2130 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTEIF3);
2141 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTEIF4);
2152 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTEIF5);
2163 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTEIF6);
2174 WRITE_REG(DMAx->IFCR, DMA_IFCR_CTEIF7);
2200 uint32_t dma_base_addr = (uint32_t)DMAx;
2201 SET_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_TCIE);
2220 uint32_t dma_base_addr = (uint32_t)DMAx;
2221 SET_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_HTIE);
2240 uint32_t dma_base_addr = (uint32_t)DMAx;
2241 SET_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_TEIE);
2260 uint32_t dma_base_addr = (uint32_t)DMAx;
2261 CLEAR_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_TCIE);
2280 uint32_t dma_base_addr = (uint32_t)DMAx;
2281 CLEAR_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_HTIE);
2300 uint32_t dma_base_addr = (uint32_t)DMAx;
2301 CLEAR_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR, DMA_CCR_TEIE);
2320 uint32_t dma_base_addr = (uint32_t)DMAx;
2321 return ((READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
2322 DMA_CCR_TCIE) == (DMA_CCR_TCIE)) ? 1UL : 0UL);
2341 uint32_t dma_base_addr = (uint32_t)DMAx;
2342 return ((READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
2343 DMA_CCR_HTIE) == (DMA_CCR_HTIE)) ? 1UL : 0UL);
2362 uint32_t dma_base_addr = (uint32_t)DMAx;
2363 return ((READ_BIT(((DMA_Channel_TypeDef *)(dma_base_addr + CHANNEL_OFFSET_TAB[Channel]))->CCR,
2364 DMA_CCR_TEIE) == (DMA_CCR_TEIE)) ? 1UL : 0UL);
2371 #if defined(USE_FULL_LL_DRIVER) 2376 ErrorStatus
LL_DMA_DeInit(DMA_TypeDef *DMAx, uint32_t Channel);
__STATIC_INLINE void LL_DMA_EnableIT_TE(DMA_TypeDef *DMAx, uint32_t Channel)
Enable Transfer error interrupt. CCR TEIE LL_DMA_EnableIT_TE.
__STATIC_INLINE uint32_t LL_DMA_GetMemoryAddress(DMA_TypeDef *DMAx, uint32_t Channel)
Get Memory address.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_GI5(DMA_TypeDef *DMAx)
Get Channel 5 global interrupt flag. ISR GIF5 LL_DMA_IsActiveFlag_GI5.
__STATIC_INLINE void LL_DMA_SetM2MSrcAddress(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryAddress)
Set the Memory to Memory Source address.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT4(DMA_TypeDef *DMAx)
Get Channel 4 half transfer flag. ISR HTIF4 LL_DMA_IsActiveFlag_HT4.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE4(DMA_TypeDef *DMAx)
Get Channel 4 transfer error flag. ISR TEIF4 LL_DMA_IsActiveFlag_TE4.
__STATIC_INLINE uint32_t LL_DMA_GetDataTransferDirection(DMA_TypeDef *DMAx, uint32_t Channel)
Get Data transfer direction (read from peripheral or from memory). CCR DIR LL_DMA_GetDataTransferDir...
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC5(DMA_TypeDef *DMAx)
Get Channel 5 transfer complete flag. ISR TCIF5 LL_DMA_IsActiveFlag_TC5.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_GI7(DMA_TypeDef *DMAx)
Get Channel 7 global interrupt flag. ISR GIF7 LL_DMA_IsActiveFlag_GI7.
__STATIC_INLINE void LL_DMA_SetM2MDstAddress(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryAddress)
Set the Memory to Memory Destination address.
__STATIC_INLINE uint32_t LL_DMA_GetChannelPriorityLevel(DMA_TypeDef *DMAx, uint32_t Channel)
Get Channel priority level. CCR PL LL_DMA_GetChannelPriorityLevel.
uint32_t MemoryOrM2MDstAddress
__STATIC_INLINE void LL_DMA_SetMode(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Mode)
Set DMA mode circular or normal.
__STATIC_INLINE void LL_DMA_ClearFlag_GI4(DMA_TypeDef *DMAx)
Clear Channel 4 global interrupt flag. IFCR CGIF4 LL_DMA_ClearFlag_GI4.
__STATIC_INLINE void LL_DMA_ClearFlag_HT4(DMA_TypeDef *DMAx)
Clear Channel 4 half transfer flag. IFCR CHTIF4 LL_DMA_ClearFlag_HT4.
__STATIC_INLINE uint32_t LL_DMA_IsEnabledChannel(DMA_TypeDef *DMAx, uint32_t Channel)
Check if DMA channel is enabled or disabled. CCR EN LL_DMA_IsEnabledChannel.
__STATIC_INLINE void LL_DMA_ConfigAddresses(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t SrcAddress, uint32_t DstAddress, uint32_t Direction)
Configure the Source and Destination addresses.
__STATIC_INLINE void LL_DMA_ClearFlag_TE4(DMA_TypeDef *DMAx)
Clear Channel 4 transfer error flag. IFCR CTEIF4 LL_DMA_ClearFlag_TE4.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC6(DMA_TypeDef *DMAx)
Get Channel 6 transfer complete flag. ISR TCIF6 LL_DMA_IsActiveFlag_TC6.
__STATIC_INLINE void LL_DMA_ConfigTransfer(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Configuration)
Configure all parameters link to DMA transfer. CCR DIR LL_DMA_ConfigTransfer CCR MEM2MEM LL_DMA_Con...
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT1(DMA_TypeDef *DMAx)
Get Channel 1 half transfer flag. ISR HTIF1 LL_DMA_IsActiveFlag_HT1.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_GI1(DMA_TypeDef *DMAx)
Get Channel 1 global interrupt flag. ISR GIF1 LL_DMA_IsActiveFlag_GI1.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_GI3(DMA_TypeDef *DMAx)
Get Channel 3 global interrupt flag. ISR GIF3 LL_DMA_IsActiveFlag_GI3.
__STATIC_INLINE void LL_DMA_SetMemorySize(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryOrM2MDstDataSize)
Set Memory size. CCR MSIZE LL_DMA_SetMemorySize.
__STATIC_INLINE void LL_DMA_ClearFlag_TE6(DMA_TypeDef *DMAx)
Clear Channel 6 transfer error flag. IFCR CTEIF6 LL_DMA_ClearFlag_TE6.
__STATIC_INLINE void LL_DMA_EnableIT_HT(DMA_TypeDef *DMAx, uint32_t Channel)
Enable Half transfer interrupt. CCR HTIE LL_DMA_EnableIT_HT.
__STATIC_INLINE void LL_DMA_ClearFlag_HT3(DMA_TypeDef *DMAx)
Clear Channel 3 half transfer flag. IFCR CHTIF3 LL_DMA_ClearFlag_HT3.
__STATIC_INLINE uint32_t LL_DMA_GetDataLength(DMA_TypeDef *DMAx, uint32_t Channel)
Get Number of data to transfer.
__STATIC_INLINE void LL_DMA_ClearFlag_TC6(DMA_TypeDef *DMAx)
Clear Channel 6 transfer complete flag. IFCR CTCIF6 LL_DMA_ClearFlag_TC6.
__STATIC_INLINE void LL_DMA_SetChannelPriorityLevel(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Priority)
Set Channel priority level. CCR PL LL_DMA_SetChannelPriorityLevel.
__STATIC_INLINE void LL_DMA_DisableIT_HT(DMA_TypeDef *DMAx, uint32_t Channel)
Disable Half transfer interrupt. CCR HTIE LL_DMA_DisableIT_HT.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE6(DMA_TypeDef *DMAx)
Get Channel 6 transfer error flag. ISR TEIF6 LL_DMA_IsActiveFlag_TE6.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE5(DMA_TypeDef *DMAx)
Get Channel 5 transfer error flag. ISR TEIF5 LL_DMA_IsActiveFlag_TE5.
__STATIC_INLINE uint32_t LL_DMA_GetM2MDstAddress(DMA_TypeDef *DMAx, uint32_t Channel)
Get the Memory to Memory Destination address.
__STATIC_INLINE void LL_DMA_ClearFlag_TC5(DMA_TypeDef *DMAx)
Clear Channel 5 transfer complete flag. IFCR CTCIF5 LL_DMA_ClearFlag_TC5.
__STATIC_INLINE void LL_DMA_ClearFlag_GI3(DMA_TypeDef *DMAx)
Clear Channel 3 global interrupt flag. IFCR CGIF3 LL_DMA_ClearFlag_GI3.
__STATIC_INLINE void LL_DMA_SetDataLength(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t NbData)
Set Number of data to transfer.
uint32_t PeriphOrM2MSrcDataSize
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT6(DMA_TypeDef *DMAx)
Get Channel 6 half transfer flag. ISR HTIF6 LL_DMA_IsActiveFlag_HT6.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC2(DMA_TypeDef *DMAx)
Get Channel 2 transfer complete flag. ISR TCIF2 LL_DMA_IsActiveFlag_TC2.
__STATIC_INLINE uint32_t LL_DMA_GetPeriphSize(DMA_TypeDef *DMAx, uint32_t Channel)
Get Peripheral size. CCR PSIZE LL_DMA_GetPeriphSize.
__STATIC_INLINE void LL_DMA_ClearFlag_TE5(DMA_TypeDef *DMAx)
Clear Channel 5 transfer error flag. IFCR CTEIF5 LL_DMA_ClearFlag_TE5.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC7(DMA_TypeDef *DMAx)
Get Channel 7 transfer complete flag. ISR TCIF7 LL_DMA_IsActiveFlag_TC7.
__STATIC_INLINE void LL_DMA_ClearFlag_GI2(DMA_TypeDef *DMAx)
Clear Channel 2 global interrupt flag. IFCR CGIF2 LL_DMA_ClearFlag_GI2.
__STATIC_INLINE void LL_DMA_ClearFlag_TE7(DMA_TypeDef *DMAx)
Clear Channel 7 transfer error flag. IFCR CTEIF7 LL_DMA_ClearFlag_TE7.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT3(DMA_TypeDef *DMAx)
Get Channel 3 half transfer flag. ISR HTIF3 LL_DMA_IsActiveFlag_HT3.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
__STATIC_INLINE uint32_t LL_DMA_GetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t Channel)
Get Peripheral increment mode. CCR PINC LL_DMA_GetPeriphIncMode.
__STATIC_INLINE uint32_t LL_DMA_GetM2MSrcAddress(DMA_TypeDef *DMAx, uint32_t Channel)
Get the Memory to Memory Source address.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE1(DMA_TypeDef *DMAx)
Get Channel 1 transfer error flag. ISR TEIF1 LL_DMA_IsActiveFlag_TE1.
__STATIC_INLINE void LL_DMA_SetDataTransferDirection(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Direction)
Set Data transfer direction (read from peripheral or from memory). CCR DIR LL_DMA_SetDataTransferDir...
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT7(DMA_TypeDef *DMAx)
Get Channel 7 half transfer flag. ISR HTIF7 LL_DMA_IsActiveFlag_HT7.
__STATIC_INLINE uint32_t LL_DMA_GetPeriphRequest(DMA_TypeDef *DMAx, uint32_t Channel)
Get DMA request for DMA Channels on DMAMUX Channel x.
__STATIC_INLINE void LL_DMA_ClearFlag_GI1(DMA_TypeDef *DMAx)
Clear Channel 1 global interrupt flag. IFCR CGIF1 LL_DMA_ClearFlag_GI1.
__STATIC_INLINE void LL_DMA_ClearFlag_TE3(DMA_TypeDef *DMAx)
Clear Channel 3 transfer error flag. IFCR CTEIF3 LL_DMA_ClearFlag_TE3.
__STATIC_INLINE void LL_DMA_ClearFlag_HT2(DMA_TypeDef *DMAx)
Clear Channel 2 half transfer flag. IFCR CHTIF2 LL_DMA_ClearFlag_HT2.
__STATIC_INLINE void LL_DMA_SetMemoryAddress(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryAddress)
Set the Memory address.
__STATIC_INLINE void LL_DMA_DisableIT_TC(DMA_TypeDef *DMAx, uint32_t Channel)
Disable Transfer complete interrupt. CCR TCIE LL_DMA_DisableIT_TC.
__STATIC_INLINE void LL_DMA_ClearFlag_TE1(DMA_TypeDef *DMAx)
Clear Channel 1 transfer error flag. IFCR CTEIF1 LL_DMA_ClearFlag_TE1.
__STATIC_INLINE void LL_DMA_SetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t PeriphOrM2MSrcIncMode)
Set Peripheral increment mode. CCR PINC LL_DMA_SetPeriphIncMode.
__STATIC_INLINE void LL_DMA_ClearFlag_TC2(DMA_TypeDef *DMAx)
Clear Channel 2 transfer complete flag. IFCR CTCIF2 LL_DMA_ClearFlag_TC2.
__STATIC_INLINE void LL_DMA_ClearFlag_GI6(DMA_TypeDef *DMAx)
Clear Channel 6 global interrupt flag. IFCR CGIF6 LL_DMA_ClearFlag_GI6.
__STATIC_INLINE uint32_t LL_DMA_GetMemorySize(DMA_TypeDef *DMAx, uint32_t Channel)
Get Memory size. CCR MSIZE LL_DMA_GetMemorySize.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_GI6(DMA_TypeDef *DMAx)
Get Channel 6 global interrupt flag. ISR GIF6 LL_DMA_IsActiveFlag_GI6.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC1(DMA_TypeDef *DMAx)
Get Channel 1 transfer complete flag. ISR TCIF1 LL_DMA_IsActiveFlag_TC1.
__STATIC_INLINE void LL_DMA_ClearFlag_HT7(DMA_TypeDef *DMAx)
Clear Channel 7 half transfer flag. IFCR CHTIF7 LL_DMA_ClearFlag_HT7.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT2(DMA_TypeDef *DMAx)
Get Channel 2 half transfer flag. ISR HTIF2 LL_DMA_IsActiveFlag_HT2.
__STATIC_INLINE void LL_DMA_ClearFlag_GI5(DMA_TypeDef *DMAx)
Clear Channel 5 global interrupt flag. IFCR CGIF5 LL_DMA_ClearFlag_GI5.
__STATIC_INLINE void LL_DMA_ClearFlag_HT1(DMA_TypeDef *DMAx)
Clear Channel 1 half transfer flag. IFCR CHTIF1 LL_DMA_ClearFlag_HT1.
Header file of DMAMUX LL module.
uint32_t MemoryOrM2MDstDataSize
__STATIC_INLINE void LL_DMA_ClearFlag_TC1(DMA_TypeDef *DMAx)
Clear Channel 1 transfer complete flag. IFCR CTCIF1 LL_DMA_ClearFlag_TC1.
uint32_t MemoryOrM2MDstIncMode
__STATIC_INLINE void LL_DMA_SetMemoryIncMode(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t MemoryOrM2MDstIncMode)
Set Memory increment mode. CCR MINC LL_DMA_SetMemoryIncMode.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC4(DMA_TypeDef *DMAx)
Get Channel 4 transfer complete flag. ISR TCIF4 LL_DMA_IsActiveFlag_TC4.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_GI4(DMA_TypeDef *DMAx)
Get Channel 4 global interrupt flag. ISR GIF4 LL_DMA_IsActiveFlag_GI4.
ErrorStatus LL_DMA_DeInit(DMA_TypeDef *DMAx, uint32_t Channel)
De-initialize the DMA registers to their default reset values.
__STATIC_INLINE void LL_DMA_ClearFlag_GI7(DMA_TypeDef *DMAx)
Clear Channel 7 global interrupt flag. IFCR CGIF7 LL_DMA_ClearFlag_GI7.
__STATIC_INLINE void LL_DMA_ClearFlag_TE2(DMA_TypeDef *DMAx)
Clear Channel 2 transfer error flag. IFCR CTEIF2 LL_DMA_ClearFlag_TE2.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE3(DMA_TypeDef *DMAx)
Get Channel 3 transfer error flag. ISR TEIF3 LL_DMA_IsActiveFlag_TE3.
__STATIC_INLINE void LL_DMA_SetPeriphRequest(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t Request)
Set DMA request for DMA Channels on DMAMUX Channel x.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC3(DMA_TypeDef *DMAx)
Get Channel 3 transfer complete flag. ISR TCIF3 LL_DMA_IsActiveFlag_TC3.
__STATIC_INLINE uint32_t LL_DMA_GetMemoryIncMode(DMA_TypeDef *DMAx, uint32_t Channel)
Get Memory increment mode. CCR MINC LL_DMA_GetMemoryIncMode.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_GI2(DMA_TypeDef *DMAx)
Get Channel 2 global interrupt flag. ISR GIF2 LL_DMA_IsActiveFlag_GI2.
__STATIC_INLINE void LL_DMA_ClearFlag_TC4(DMA_TypeDef *DMAx)
Clear Channel 4 transfer complete flag. IFCR CTCIF4 LL_DMA_ClearFlag_TC4.
__STATIC_INLINE void LL_DMA_ClearFlag_HT6(DMA_TypeDef *DMAx)
Clear Channel 6 half transfer flag. IFCR CHTIF6 LL_DMA_ClearFlag_HT6.
__STATIC_INLINE void LL_DMA_SetPeriphAddress(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t PeriphAddress)
Set the Peripheral address.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE2(DMA_TypeDef *DMAx)
Get Channel 2 transfer error flag. ISR TEIF2 LL_DMA_IsActiveFlag_TE2.
__STATIC_INLINE void LL_DMA_ClearFlag_TC7(DMA_TypeDef *DMAx)
Clear Channel 7 transfer complete flag. IFCR CTCIF7 LL_DMA_ClearFlag_TC7.
ErrorStatus LL_DMA_Init(DMA_TypeDef *DMAx, uint32_t Channel, LL_DMA_InitTypeDef *DMA_InitStruct)
Initialize the DMA registers according to the specified parameters in DMA_InitStruct.
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
__STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_HT(DMA_TypeDef *DMAx, uint32_t Channel)
Check if Half transfer Interrupt is enabled. CCR HTIE LL_DMA_IsEnabledIT_HT.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TE7(DMA_TypeDef *DMAx)
Get Channel 7 transfer error flag. ISR TEIF7 LL_DMA_IsActiveFlag_TE7.
__STATIC_INLINE void LL_DMA_ClearFlag_HT5(DMA_TypeDef *DMAx)
Clear Channel 5 half transfer flag. IFCR CHTIF5 LL_DMA_ClearFlag_HT5.
void LL_DMA_StructInit(LL_DMA_InitTypeDef *DMA_InitStruct)
Set each LL_DMA_InitTypeDef field to default value.
__STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_TC(DMA_TypeDef *DMAx, uint32_t Channel)
Check if Transfer complete Interrupt is enabled. CCR TCIE LL_DMA_IsEnabledIT_TC. ...
__STATIC_INLINE void LL_DMA_SetPeriphSize(DMA_TypeDef *DMAx, uint32_t Channel, uint32_t PeriphOrM2MSrcDataSize)
Set Peripheral size. CCR PSIZE LL_DMA_SetPeriphSize.
uint32_t PeriphOrM2MSrcIncMode
__STATIC_INLINE uint32_t LL_DMA_GetPeriphAddress(DMA_TypeDef *DMAx, uint32_t Channel)
Get Peripheral address.
__STATIC_INLINE uint32_t LL_DMA_GetMode(DMA_TypeDef *DMAx, uint32_t Channel)
Get DMA mode circular or normal. CCR CIRC LL_DMA_GetMode.
__STATIC_INLINE void LL_DMA_EnableChannel(DMA_TypeDef *DMAx, uint32_t Channel)
Enable DMA channel. CCR EN LL_DMA_EnableChannel.
__STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT5(DMA_TypeDef *DMAx)
Get Channel 5 half transfer flag. ISR HTIF5 LL_DMA_IsActiveFlag_HT5.
__STATIC_INLINE void LL_DMA_ClearFlag_TC3(DMA_TypeDef *DMAx)
Clear Channel 3 transfer complete flag. IFCR CTCIF3 LL_DMA_ClearFlag_TC3.
__STATIC_INLINE void LL_DMA_DisableChannel(DMA_TypeDef *DMAx, uint32_t Channel)
Disable DMA channel. CCR EN LL_DMA_DisableChannel.
__STATIC_INLINE void LL_DMA_DisableIT_TE(DMA_TypeDef *DMAx, uint32_t Channel)
Disable Transfer error interrupt. CCR TEIE LL_DMA_DisableIT_TE.
uint32_t PeriphOrM2MSrcAddress
__STATIC_INLINE void LL_DMA_EnableIT_TC(DMA_TypeDef *DMAx, uint32_t Channel)
Enable Transfer complete interrupt. CCR TCIE LL_DMA_EnableIT_TC.
__STATIC_INLINE uint32_t LL_DMA_IsEnabledIT_TE(DMA_TypeDef *DMAx, uint32_t Channel)
Check if Transfer error Interrupt is enabled. CCR TEIE LL_DMA_IsEnabledIT_TE.
static const uint8_t CHANNEL_OFFSET_TAB[]