/* PDD layer implementation for peripheral type DMA (C) 2013 Freescale, Inc. All rights reserved. This file is static and it is generated from API-Factory */ #if !defined(DMA_PDD_H_) #define DMA_PDD_H_ /* ---------------------------------------------------------------------------- -- Test if supported MCU is active ---------------------------------------------------------------------------- */ #if !defined(MCU_ACTIVE) // No MCU is active #error DMA PDD library: No derivative is active. Place proper #include with PDD memory map before including PDD library. #elif \ !defined(MCU_MK10D10) /* DMA */ && \ !defined(MCU_MK10D5) /* DMA */ && \ !defined(MCU_MK10D7) /* DMA */ && \ !defined(MCU_MK10F12) /* DMA */ && \ !defined(MCU_MK10DZ10) /* DMA */ && \ !defined(MCU_MK11D5) /* DMA */ && \ !defined(MCU_MK11D5WS) /* DMA */ && \ !defined(MCU_MK12D5) /* DMA */ && \ !defined(MCU_MK20D10) /* DMA */ && \ !defined(MCU_MK20D5) /* DMA */ && \ !defined(MCU_MK20D7) /* DMA */ && \ !defined(MCU_MK20F12) /* DMA */ && \ !defined(MCU_MK20DZ10) /* DMA */ && \ !defined(MCU_MK21D5) /* DMA */ && \ !defined(MCU_MK21D5WS) /* DMA */ && \ !defined(MCU_MK21F12) /* DMA */ && \ !defined(MCU_MK21F12WS) /* DMA */ && \ !defined(MCU_MK22D5) /* DMA */ && \ !defined(MCU_MK22F12810) /* DMA */ && \ !defined(MCU_MK22F12) /* DMA */ && \ !defined(MCU_MK22F25612) /* DMA */ && \ !defined(MCU_MK22F51212) /* DMA */ && \ !defined(MCU_MK24F12) /* DMA */ && \ !defined(MCU_MK30D10) /* DMA */ && \ !defined(MCU_MK30D7) /* DMA */ && \ !defined(MCU_MK30DZ10) /* DMA */ && \ !defined(MCU_MK40D10) /* DMA */ && \ !defined(MCU_MK40D7) /* DMA */ && \ !defined(MCU_MK40DZ10) /* DMA */ && \ !defined(MCU_MK40X256VMD100) /* DMA */ && \ !defined(MCU_MK50D10) /* DMA */ && \ !defined(MCU_MK50D7) /* DMA */ && \ !defined(MCU_MK50DZ10) /* DMA */ && \ !defined(MCU_MK51D10) /* DMA */ && \ !defined(MCU_MK51D7) /* DMA */ && \ !defined(MCU_MK51DZ10) /* DMA */ && \ !defined(MCU_MK52D10) /* DMA */ && \ !defined(MCU_MK52DZ10) /* DMA */ && \ !defined(MCU_MK53D10) /* DMA */ && \ !defined(MCU_MK53DZ10) /* DMA */ && \ !defined(MCU_MK60D10) /* DMA */ && \ !defined(MCU_MK60F12) /* DMA */ && \ !defined(MCU_MK60F15) /* DMA */ && \ !defined(MCU_MK60DZ10) /* DMA */ && \ !defined(MCU_MK60N512VMD100) /* DMA */ && \ !defined(MCU_MK61F12) /* DMA */ && \ !defined(MCU_MK61F15) /* DMA */ && \ !defined(MCU_MK61F12WS) /* DMA */ && \ !defined(MCU_MK61F15WS) /* DMA */ && \ !defined(MCU_MK63F12) /* DMA */ && \ !defined(MCU_MK63F12WS) /* DMA */ && \ !defined(MCU_MK64F12) /* DMA */ && \ !defined(MCU_MK65F18) /* DMA */ && \ !defined(MCU_MK65F18WS) /* DMA */ && \ !defined(MCU_MK66F18) /* DMA */ && \ !defined(MCU_MK70F12) /* DMA */ && \ !defined(MCU_MK70F15) /* DMA */ && \ !defined(MCU_MK70F12WS) /* DMA */ && \ !defined(MCU_MK70F15WS) /* DMA */ && \ !defined(MCU_MKL04Z4) /* DMA */ && \ !defined(MCU_MKL05Z4) /* DMA */ && \ !defined(MCU_MKL14Z4) /* DMA */ && \ !defined(MCU_MKL15Z4) /* DMA */ && \ !defined(MCU_MKL16Z4) /* DMA */ && \ !defined(MCU_MKL24Z4) /* DMA */ && \ !defined(MCU_MKL25Z4) /* DMA */ && \ !defined(MCU_MKL26Z4) /* DMA */ && \ !defined(MCU_MKL34Z4) /* DMA */ && \ !defined(MCU_MKL36Z4) /* DMA */ && \ !defined(MCU_MKL46Z4) /* DMA */ && \ !defined(MCU_MKV10Z7) /* DMA */ && \ !defined(MCU_MKV31F12810) /* DMA */ && \ !defined(MCU_MKV31F25612) /* DMA */ && \ !defined(MCU_MKV31F51212) /* DMA */ && \ !defined(MCU_MKW01Z4) /* DMA */ && \ !defined(MCU_MKW21D5) /* DMA */ && \ !defined(MCU_MKW21D5WS) /* DMA */ && \ !defined(MCU_MKW22D5) /* DMA */ && \ !defined(MCU_MKW22D5WS) /* DMA */ && \ !defined(MCU_MKW24D5) /* DMA */ && \ !defined(MCU_MKW24D5WS) /* DMA */ && \ !defined(MCU_PCK20L4) /* DMA */ // Unsupported MCU is active #error DMA PDD library: Unsupported derivative is active. #endif #include "PDD_Types.h" /* ---------------------------------------------------------------------------- -- Method symbol definitions ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK10D5)) || (defined(MCU_MK20D5)) || (defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /* DMA channel number constants */ #define DMA_PDD_CHANNEL_0 0U /**< Channel 0. */ #define DMA_PDD_CHANNEL_1 0x1U /**< Channel 1. */ #define DMA_PDD_CHANNEL_2 0x2U /**< Channel 2. */ #define DMA_PDD_CHANNEL_3 0x3U /**< Channel 3. */ #elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /* DMA channel constants */ #define DMA_PDD_CHANNEL_0 0U /**< Channel 0. */ #define DMA_PDD_CHANNEL_1 0x1U /**< Channel 1. */ #define DMA_PDD_CHANNEL_2 0x2U /**< Channel 2. */ #define DMA_PDD_CHANNEL_3 0x3U /**< Channel 3. */ #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /* DMA channel number constants */ #define DMA_PDD_CHANNEL_0 0U /**< Channel 0. */ #define DMA_PDD_CHANNEL_1 0x1U /**< Channel 1. */ #define DMA_PDD_CHANNEL_2 0x2U /**< Channel 2. */ #define DMA_PDD_CHANNEL_3 0x3U /**< Channel 3. */ #define DMA_PDD_CHANNEL_4 0x4U /**< Channel 4. */ #define DMA_PDD_CHANNEL_5 0x5U /**< Channel 5. */ #define DMA_PDD_CHANNEL_6 0x6U /**< Channel 6. */ #define DMA_PDD_CHANNEL_7 0x7U /**< Channel 7. */ #define DMA_PDD_CHANNEL_8 0x8U /**< Channel 8. */ #define DMA_PDD_CHANNEL_9 0x9U /**< Channel 9. */ #define DMA_PDD_CHANNEL_10 0xAU /**< Channel 10. */ #define DMA_PDD_CHANNEL_11 0xBU /**< Channel 11. */ #define DMA_PDD_CHANNEL_12 0xCU /**< Channel 12. */ #define DMA_PDD_CHANNEL_13 0xDU /**< Channel 13. */ #define DMA_PDD_CHANNEL_14 0xEU /**< Channel 14. */ #define DMA_PDD_CHANNEL_15 0xFU /**< Channel 15. */ #define DMA_PDD_CHANNEL_16 0x10U /**< Channel 16. */ #define DMA_PDD_CHANNEL_17 0x11U /**< Channel 17. */ #define DMA_PDD_CHANNEL_18 0x12U /**< Channel 18. */ #define DMA_PDD_CHANNEL_19 0x13U /**< Channel 19. */ #define DMA_PDD_CHANNEL_20 0x14U /**< Channel 20. */ #define DMA_PDD_CHANNEL_21 0x15U /**< Channel 21. */ #define DMA_PDD_CHANNEL_22 0x16U /**< Channel 22. */ #define DMA_PDD_CHANNEL_23 0x17U /**< Channel 23. */ #define DMA_PDD_CHANNEL_24 0x18U /**< Channel 24. */ #define DMA_PDD_CHANNEL_25 0x19U /**< Channel 25. */ #define DMA_PDD_CHANNEL_26 0x1AU /**< Channel 26. */ #define DMA_PDD_CHANNEL_27 0x1BU /**< Channel 27. */ #define DMA_PDD_CHANNEL_28 0x1CU /**< Channel 28. */ #define DMA_PDD_CHANNEL_29 0x1DU /**< Channel 29. */ #define DMA_PDD_CHANNEL_30 0x1EU /**< Channel 30. */ #define DMA_PDD_CHANNEL_31 0x1FU /**< Channel 31. */ #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* DMA channel number constants */ #define DMA_PDD_CHANNEL_0 0U /**< Channel 0. */ #define DMA_PDD_CHANNEL_1 0x1U /**< Channel 1. */ #define DMA_PDD_CHANNEL_2 0x2U /**< Channel 2. */ #define DMA_PDD_CHANNEL_3 0x3U /**< Channel 3. */ #define DMA_PDD_CHANNEL_4 0x4U /**< Channel 4. */ #define DMA_PDD_CHANNEL_5 0x5U /**< Channel 5. */ #define DMA_PDD_CHANNEL_6 0x6U /**< Channel 6. */ #define DMA_PDD_CHANNEL_7 0x7U /**< Channel 7. */ #define DMA_PDD_CHANNEL_8 0x8U /**< Channel 8. */ #define DMA_PDD_CHANNEL_9 0x9U /**< Channel 9. */ #define DMA_PDD_CHANNEL_10 0xAU /**< Channel 10. */ #define DMA_PDD_CHANNEL_11 0xBU /**< Channel 11. */ #define DMA_PDD_CHANNEL_12 0xCU /**< Channel 12. */ #define DMA_PDD_CHANNEL_13 0xDU /**< Channel 13. */ #define DMA_PDD_CHANNEL_14 0xEU /**< Channel 14. */ #define DMA_PDD_CHANNEL_15 0xFU /**< Channel 15. */ #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ #if ((defined(MCU_MK10D5)) || (defined(MCU_MK20D5)) || (defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /* DMA channel mask constants */ #define DMA_PDD_CHANNEL_MASK_0 0x1U /**< Channel 0. */ #define DMA_PDD_CHANNEL_MASK_1 0x2U /**< Channel 1. */ #define DMA_PDD_CHANNEL_MASK_2 0x4U /**< Channel 2. */ #define DMA_PDD_CHANNEL_MASK_3 0x8U /**< Channel 3. */ #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /* DMA channel mask constants */ #define DMA_PDD_CHANNEL_MASK_0 0x1U /**< Channel 0. */ #define DMA_PDD_CHANNEL_MASK_1 0x2U /**< Channel 1. */ #define DMA_PDD_CHANNEL_MASK_2 0x4U /**< Channel 2. */ #define DMA_PDD_CHANNEL_MASK_3 0x8U /**< Channel 3. */ #define DMA_PDD_CHANNEL_MASK_4 0x10U /**< Channel 4. */ #define DMA_PDD_CHANNEL_MASK_5 0x20U /**< Channel 5. */ #define DMA_PDD_CHANNEL_MASK_6 0x40U /**< Channel 6. */ #define DMA_PDD_CHANNEL_MASK_7 0x80U /**< Channel 7. */ #define DMA_PDD_CHANNEL_MASK_8 0x100U /**< Channel 8. */ #define DMA_PDD_CHANNEL_MASK_9 0x200U /**< Channel 9. */ #define DMA_PDD_CHANNEL_MASK_10 0x400U /**< Channel 10. */ #define DMA_PDD_CHANNEL_MASK_11 0x800U /**< Channel 11. */ #define DMA_PDD_CHANNEL_MASK_12 0x1000U /**< Channel 12. */ #define DMA_PDD_CHANNEL_MASK_13 0x2000U /**< Channel 13. */ #define DMA_PDD_CHANNEL_MASK_14 0x4000U /**< Channel 14. */ #define DMA_PDD_CHANNEL_MASK_15 0x8000U /**< Channel 15. */ #define DMA_PDD_CHANNEL_MASK_16 0x10000U /**< Channel 16. */ #define DMA_PDD_CHANNEL_MASK_17 0x20000U /**< Channel 17. */ #define DMA_PDD_CHANNEL_MASK_18 0x40000U /**< Channel 18. */ #define DMA_PDD_CHANNEL_MASK_19 0x80000U /**< Channel 19. */ #define DMA_PDD_CHANNEL_MASK_20 0x100000U /**< Channel 20. */ #define DMA_PDD_CHANNEL_MASK_21 0x200000U /**< Channel 21. */ #define DMA_PDD_CHANNEL_MASK_22 0x400000U /**< Channel 22. */ #define DMA_PDD_CHANNEL_MASK_23 0x800000U /**< Channel 23. */ #define DMA_PDD_CHANNEL_MASK_24 0x1000000U /**< Channel 24. */ #define DMA_PDD_CHANNEL_MASK_25 0x2000000U /**< Channel 25. */ #define DMA_PDD_CHANNEL_MASK_26 0x4000000U /**< Channel 26. */ #define DMA_PDD_CHANNEL_MASK_27 0x8000000U /**< Channel 27. */ #define DMA_PDD_CHANNEL_MASK_28 0x10000000U /**< Channel 28. */ #define DMA_PDD_CHANNEL_MASK_29 0x20000000U /**< Channel 29. */ #define DMA_PDD_CHANNEL_MASK_30 0x40000000U /**< Channel 30. */ #define DMA_PDD_CHANNEL_MASK_31 0x80000000U /**< Channel 31. */ #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* DMA channel mask constants */ #define DMA_PDD_CHANNEL_MASK_0 0x1U /**< Channel 0. */ #define DMA_PDD_CHANNEL_MASK_1 0x2U /**< Channel 1. */ #define DMA_PDD_CHANNEL_MASK_2 0x4U /**< Channel 2. */ #define DMA_PDD_CHANNEL_MASK_3 0x8U /**< Channel 3. */ #define DMA_PDD_CHANNEL_MASK_4 0x10U /**< Channel 4. */ #define DMA_PDD_CHANNEL_MASK_5 0x20U /**< Channel 5. */ #define DMA_PDD_CHANNEL_MASK_6 0x40U /**< Channel 6. */ #define DMA_PDD_CHANNEL_MASK_7 0x80U /**< Channel 7. */ #define DMA_PDD_CHANNEL_MASK_8 0x100U /**< Channel 8. */ #define DMA_PDD_CHANNEL_MASK_9 0x200U /**< Channel 9. */ #define DMA_PDD_CHANNEL_MASK_10 0x400U /**< Channel 10. */ #define DMA_PDD_CHANNEL_MASK_11 0x800U /**< Channel 11. */ #define DMA_PDD_CHANNEL_MASK_12 0x1000U /**< Channel 12. */ #define DMA_PDD_CHANNEL_MASK_13 0x2000U /**< Channel 13. */ #define DMA_PDD_CHANNEL_MASK_14 0x4000U /**< Channel 14. */ #define DMA_PDD_CHANNEL_MASK_15 0x8000U /**< Channel 15. */ #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* Channel major loop linking disabled bit mask */ #define DMA_PDD_MAJOR_LINK_DISABLED 0U /**< Channel major loop linking disabled */ /* Channel major loop linking enabled bit mask */ #define DMA_PDD_MAJOR_LINK_ENABLED DMA_CSR_MAJORELINK_MASK /**< Channel major loop linking enabled */ /* Channel scatter/gather disabled bit mask */ #define DMA_PDD_SCATTER_GATHER_DISABLED 0U /**< Channel scatter/gather disabled */ /* Channel scatter/gather enabled bit mask */ #define DMA_PDD_SCATTER_GATHER_ENABLED DMA_CSR_ESG_MASK /**< Channel scatter/gather enabled */ /* Enable channel after request bit mask */ #define DMA_PDD_ENABLE_AFTER_REQUEST 0U /**< Enable channel after request */ /* Disable channel after request bit mask */ #define DMA_PDD_DISABLE_AFTER_REQUEST DMA_CSR_DREQ_MASK /**< Disable channel after request */ /* Minor loop offset bit position value */ #define DMA_PDD_MINOR_LOOP_OFFSET_SHIFT 0U /**< Minor loop offset bit position value. */ /* Minor loop enable bit position value */ #define DMA_PDD_MINOR_LOOP_ENABLE_SHIFT 0x1EU /**< Minor loop enable bit position value. */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /* Channel error status constants */ #define DMA_PDD_CONFIGURATION_ERROR_FLAG DMA_DSR_BCR_CE_MASK /**< Configuration error flag. */ #define DMA_PDD_ERROR_ON_SOURCE_FLAG DMA_DSR_BCR_BES_MASK /**< Error on source side flag. */ #define DMA_PDD_ERROR_ON_DESTINATION_FLAG DMA_DSR_BCR_BED_MASK /**< Error on destination side flag. */ #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* Channel-related error flags. Bit mask of flags associated with specific channel (use GetErrorStatusChannel to obtain associated channel number). */ #define DMA_PDD_CHANNEL_ERROR_FLAGS 0x100FFU /**< All channel-related error flags mask. */ #define DMA_PDD_ERROR_TRANSFER_CANCELED_FLAG DMA_ES_ECX_MASK /**< Canceled transfer by the error cancel transfer input. */ #define DMA_PDD_ERROR_SOURCE_ADDRESS_FLAG DMA_ES_SAE_MASK /**< Source address error. */ #define DMA_PDD_ERROR_SOURCE_OFFSET_FLAG DMA_ES_SOE_MASK /**< Source offset error. */ #define DMA_PDD_ERROR_DESTINATION_ADDRESS_FLAG DMA_ES_DAE_MASK /**< Destination address error. */ #define DMA_PDD_ERROR_DESTINATION_OFFSET_FLAG DMA_ES_DOE_MASK /**< Source offset error. */ #define DMA_PDD_ERROR_COUNT_FLAG DMA_ES_NCE_MASK /**< Error detected in minor loop byte count or major loop iteration count. */ #define DMA_PDD_ERROR_SCATTER_GATHER_FLAG DMA_ES_SGE_MASK /**< Scatter/gather configuration error. */ #define DMA_PDD_ERROR_ON_SOURCE_FLAG DMA_ES_SBE_MASK /**< Error on source side flag. */ #define DMA_PDD_ERROR_ON_DESTINATION_FLAG DMA_ES_DBE_MASK /**< Error on destination side flag. */ #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ #if ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /* Device-related error flags. Bit mask of flags associated with whole DMA device or multiple channels. */ #define DMA_PDD_DEVICE_ERROR_FLAGS 0xC000U /**< All device-related error flags mask. */ #define DMA_PDD_ERROR_CHANNEL_PRIORITY_FLAG DMA_ES_CPE_MASK /**< Configuration error in the channel priorities (channel priorities are not unique). */ #define DMA_PDD_ERROR_GROUP_PRIORITY_FLAG DMA_ES_GPE_MASK /**< Configuration error in the group priorities (group priorities are not unique). */ #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* Device-related error flags. Bit mask of flags associated with whole DMA device or multiple channels. */ #define DMA_PDD_DEVICE_ERROR_FLAGS 0x4000U /**< All device-related error flags mask. */ #define DMA_PDD_ERROR_CHANNEL_PRIORITY_FLAG DMA_ES_CPE_MASK /**< Configuration error in the channel priorities (channel priorities are not unique). */ #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* Constants used in SetChannelPriority */ #define DMA_PDD_DCHPRI_DPA_MASK DMA_DCHPRI3_DPA_MASK /**< Disable preempt ability bit mask. */ #define DMA_PDD_DCHPRI_CHPRI_MASK DMA_DCHPRI3_CHPRI_MASK /**< Channel arbitration priority bit group mask. */ #define DMA_PDD_DCHPRI_ECP_SHIFT 0x7U /**< Enable channel preemption bit position. */ #define DMA_PDD_DCHPRI_CHPRI_SHIFT 0U /**< Channel arbitration priority bit group position. */ /* Constant specifying if DMA channel can be temporarily suspended by the service request of a higher priority channel */ #define DMA_PDD_CHANNEL_CAN_BE_PREEMPTED 0U /**< Channel can be preempted. */ #define DMA_PDD_CHANNEL_CANNOT_BE_PREEMPTED DMA_DCHPRI3_ECP_MASK /**< Channel can't be preempted. */ /* Constant specifying if DMA channel can suspend a lower priority channel */ #define DMA_PDD_CHANNEL_CAN_PREEMPT_OTHER 0U /**< Channel can suspend other channels. */ #define DMA_PDD_CHANNEL_CANNOT_PREEMPT_OTHER DMA_DCHPRI3_DPA_MASK /**< Channel can't suspend other channels. */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /* Circular buffer size constants */ #define DMA_PDD_CIRCULAR_BUFFER_DISABLED 0U /**< Circular buffer disabled. */ #define DMA_PDD_CIRCULAR_BUFFER_16_BYTES 0x1U /**< 16 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_32_BYTES 0x2U /**< 32 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_64_BYTES 0x3U /**< 64 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_128_BYTES 0x4U /**< 128 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_256_BYTES 0x5U /**< 256 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_512_BYTES 0x6U /**< 512 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_1_KBYTE 0x7U /**< 1 Kbyte circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_2_KBYTES 0x8U /**< 2 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_4_KBYTES 0x9U /**< 4 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_8_KBYTES 0xAU /**< 8 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_16_KBYTES 0xBU /**< 16 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_32_KBYTES 0xCU /**< 32 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_64_KBYTES 0xDU /**< 64 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_128_KBYTES 0xEU /**< 128 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_256_KBYTES 0xFU /**< 256 Kbytes circular buffer. */ #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* Circular buffer size constants */ #define DMA_PDD_CIRCULAR_BUFFER_DISABLED 0U /**< Circular buffer disabled. */ #define DMA_PDD_CIRCULAR_BUFFER_2_BYTES 0x1U /**< 2 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_4_BYTES 0x2U /**< 4 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_8_BYTES 0x3U /**< 8 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_16_BYTES 0x4U /**< 16 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_32_BYTES 0x5U /**< 32 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_64_BYTES 0x6U /**< 64 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_128_BYTES 0x7U /**< 128 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_256_BYTES 0x8U /**< 256 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_512_BYTES 0x9U /**< 512 bytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_1_KBYTE 0xAU /**< 1 Kbyte circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_2_KBYTES 0xBU /**< 2 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_4_KBYTES 0xCU /**< 4 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_8_KBYTES 0xDU /**< 8 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_16_KBYTES 0xEU /**< 16 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_32_KBYTES 0xFU /**< 32 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_64_KBYTES 0x10U /**< 64 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_128_KBYTES 0x11U /**< 128 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_256_KBYTES 0x12U /**< 256 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_512_KBYTES 0x13U /**< 512 Kbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_1_MBYTE 0x14U /**< 1 Mbyte circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_2_MBYTES 0x15U /**< 2 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_4_MBYTES 0x16U /**< 4 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_8_MBYTES 0x17U /**< 8 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_16_MBYTES 0x18U /**< 16 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_32_MBYTES 0x19U /**< 32 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_64_MBYTES 0x1AU /**< 64 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_128_MBYTES 0x1BU /**< 128 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_256_MBYTES 0x1CU /**< 256 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_512_MBYTES 0x1DU /**< 512 Mbytes circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_1_GBYTE 0x1EU /**< 1 Gbyte circular buffer. */ #define DMA_PDD_CIRCULAR_BUFFER_2_GBYTES 0x1FU /**< 2 Gbytes circular buffer. */ #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /* Channel activity status constants */ #define DMA_PDD_TRANSFER_DONE_FLAG DMA_DSR_BCR_DONE_MASK /**< Transfer done flag. */ #define DMA_PDD_TRANSFER_BUSY_FLAG DMA_DSR_BCR_BSY_MASK /**< Transfer in progress flag. */ #define DMA_PDD_TRANSFER_REQUEST_PENDING_FLAG DMA_DSR_BCR_REQ_MASK /**< Transfer request pending flag. */ #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* Channel activity status constants */ #define DMA_PDD_TRANSFER_DONE_FLAG DMA_CSR_DONE_MASK /**< Transfer done flag. */ #define DMA_PDD_TRANSFER_ACTIVE_FLAG DMA_CSR_ACTIVE_MASK /**< Transfer in progress flag. */ #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /* Transfer complete interrupt enable/disable constants */ #define DMA_PDD_TRANSFER_COMPLETE_ENABLE DMA_DCR_EINT_MASK /**< Transfer complete interrupt enabled. */ #define DMA_PDD_TRANSFER_COMPLETE_DISABLE 0U /**< Transfer complete interrupt disabled. */ #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* Transfer complete interrupt enable/disable constants */ #define DMA_PDD_TRANSFER_COMPLETE_ENABLE DMA_CSR_INTMAJOR_MASK /**< Transfer complete interrupt enabled. */ #define DMA_PDD_TRANSFER_COMPLETE_DISABLE 0U /**< Transfer complete interrupt disabled. */ #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* Interrupts' mask */ #define DMA_PDD_TRANSFER_COMPLETE_INTERRUPT DMA_DCR_EINT_MASK /**< Transfer complete interrupt mask. */ /* Interrupts' flags */ #define DMA_PDD_TRANSFER_COMPLETE_FLAG DMA_DSR_BCR_DONE_MASK /**< Transfer complete flag. */ /* Channel request source constants */ #define DMA_PDD_CHANNEL_SOURCE_0 0U /**< Channel request source 0. */ #define DMA_PDD_CHANNEL_SOURCE_1 0x1U /**< Channel request source 1. */ #define DMA_PDD_CHANNEL_SOURCE_2 0x2U /**< Channel request source 2. */ #define DMA_PDD_CHANNEL_SOURCE_3 0x3U /**< Channel request source 3. */ #define DMA_PDD_CHANNEL_SOURCE_4 0x4U /**< Channel request source 4. */ #define DMA_PDD_CHANNEL_SOURCE_5 0x5U /**< Channel request source 5. */ #define DMA_PDD_CHANNEL_SOURCE_6 0x6U /**< Channel request source 6. */ #define DMA_PDD_CHANNEL_SOURCE_7 0x7U /**< Channel request source 7. */ #define DMA_PDD_CHANNEL_SOURCE_8 0x8U /**< Channel request source 8. */ #define DMA_PDD_CHANNEL_SOURCE_9 0x9U /**< Channel request source 9. */ #define DMA_PDD_CHANNEL_SOURCE_10 0xAU /**< Channel request source 10. */ #define DMA_PDD_CHANNEL_SOURCE_11 0xBU /**< Channel request source 11. */ #define DMA_PDD_CHANNEL_SOURCE_12 0xCU /**< Channel request source 12. */ #define DMA_PDD_CHANNEL_SOURCE_13 0xDU /**< Channel request source 13. */ #define DMA_PDD_CHANNEL_SOURCE_14 0xEU /**< Channel request source 14. */ #define DMA_PDD_CHANNEL_SOURCE_15 0xFU /**< Channel request source 15. */ /* Set all or only one DMA channel. Used in Set/Clear macros to distinct between setting/clearing attribute of one specified channel or of all channels. */ #define DMA_PDD_ONE_CHANNEL 0U /**< Set only one DMA channel. */ #define DMA_PDD_ALL_CHANNELS DMA_SERQ_SAER_MASK /**< Set all DMA channels. */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /* DMA data transfer block size. */ #define DMA_PDD_8_BIT 0x1U /**< 8-bit transfer size. */ #define DMA_PDD_16_BIT 0x2U /**< 16-bit transfer size. */ #define DMA_PDD_32_BIT 0U /**< 32-bit transfer size. */ #elif ((defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /* DMA data transfer block size. */ #define DMA_PDD_8_BIT 0U /**< 8-bit transfer size. */ #define DMA_PDD_16_BIT 0x1U /**< 16-bit transfer size. */ #define DMA_PDD_32_BIT 0x2U /**< 32-bit transfer size. */ #define DMA_PDD_16_BYTE 0x4U /**< 16-byte transfer size. */ #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK50D10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* DMA data transfer block size. */ #define DMA_PDD_8_BIT 0U /**< 8-bit transfer size. */ #define DMA_PDD_16_BIT 0x1U /**< 16-bit transfer size. */ #define DMA_PDD_32_BIT 0x2U /**< 32-bit transfer size. */ #define DMA_PDD_16_BYTE 0x4U /**< 16-byte transfer size. */ #define DMA_PDD_32_BYTE 0x5U /**< 32-byte transfer size. */ #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK50D10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* DMA stall time value. */ #define DMA_PDD_NO_STALL 0U /**< No stall. */ #define DMA_PDD_STALL_4_CYCLES 0x8000U /**< Stall 4 cycles. */ #define DMA_PDD_STALL_8_CYCLES 0xC000U /**< Stall 8 cycles. */ /* DMA data transfer size. */ #define DMA_PDD_LINKING_DISABLED 0U /**< Channel linking disabled. */ #define DMA_PDD_CYCLE_STEAL_AND_TRANSFER_COMPLETE_LINKING 0x10U /**< Channel linked after each cycle-steal transfer and after transfer complete. */ #define DMA_PDD_CYCLE_STEAL_LINKING 0x20U /**< Channel linked only after each cycle-steal transfer. */ #define DMA_PDD_TRANSFER_COMPLETE_LINKING 0x30U /**< Channel linked only after transfer complete. */ /* ---------------------------------------------------------------------------- -- WriteControlReg ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Writes to DMA channel control register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Value DMA channel control register value. This parameter is a 32-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR, DCR[Channel] * (depending on the peripheral). * @par Example: * @code * DMA_PDD_WriteControlReg(_BASE_PTR, DMA_PDD_CHANNEL_0, 1); * @endcode */ #define DMA_PDD_WriteControlReg(PeripheralBase, Channel, Value) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Writes to DMA control register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value DMA control register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR, DCR[Channel] * (depending on the peripheral). * @par Example: * @code * DMA_PDD_WriteControlReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteControlReg(PeripheralBase, Value) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(Value) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- ReadControlReg ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns DMA control register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CR, DCR[Channel] * (depending on the peripheral). * @par Example: * @code * uint32 result = DMA_PDD_ReadControlReg(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_ReadControlReg(PeripheralBase, Channel) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA control register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CR, DCR[Channel] * (depending on the peripheral). * @par Example: * @code * uint32 result = DMA_PDD_ReadControlReg(_BASE_PTR); * @endcode */ #define DMA_PDD_ReadControlReg(PeripheralBase) ( \ DMA_CR_REG(PeripheralBase) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- CancelTransfer ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Cancels remaining data transfer. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR, DSR_BCR[Channel] * (depending on the peripheral). * @par Example: * @code * DMA_PDD_CancelTransfer(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_CancelTransfer(PeripheralBase, Channel) ( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel)) |= \ DMA_DSR_BCR_DONE_MASK \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Cancels remaining data transfer. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR, DSR_BCR[Channel] * (depending on the peripheral). * @par Example: * @code * DMA_PDD_CancelTransfer(_BASE_PTR); * @endcode */ #define DMA_PDD_CancelTransfer(PeripheralBase) ( \ DMA_CR_REG(PeripheralBase) |= \ DMA_CR_CX_MASK \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- ErrorCancelTransfer ---------------------------------------------------------------------------- */ /** * @brief Cancels remaining data transfer with error generation. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_ErrorCancelTransfer(_BASE_PTR); * @endcode */ #define DMA_PDD_ErrorCancelTransfer(PeripheralBase) ( \ DMA_CR_REG(PeripheralBase) |= \ DMA_CR_ECX_MASK \ ) /* ---------------------------------------------------------------------------- -- EnableMinorLoopMapping ---------------------------------------------------------------------------- */ /** * @brief Enables or disables minor loop mapping. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param State Parameter specifying if minor loop mapping will be enabled or * disabled. This parameter is of "Global enumeration used for specifying * general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in * PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_EnableMinorLoopMapping(_BASE_PTR, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableMinorLoopMapping(PeripheralBase, State) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_EMLM_MASK))) | ( \ (uint32)((uint32)(State) << DMA_CR_EMLM_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetMinorLoopMappingEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns minor loop mapping state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * uint32 result = * DMA_PDD_GetMinorLoopMappingEnabled(_BASE_PTR); * @endcode */ #define DMA_PDD_GetMinorLoopMappingEnabled(PeripheralBase) ( \ (uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_EMLM_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableContinuousLinkMode ---------------------------------------------------------------------------- */ /** * @brief Enables or disables minor loop continuous link mode. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param State Parameter specifying if minor loop continuous link mode will be * enabled or disabled. This parameter is of "Global enumeration used for * specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE * defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_EnableContinuousLinkMode(_BASE_PTR, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableContinuousLinkMode(PeripheralBase, State) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_CLM_MASK))) | ( \ (uint32)((uint32)(State) << DMA_CR_CLM_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetContinuousLinkModeEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns minor loop continuous link mode state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * uint32 result = * DMA_PDD_GetContinuousLinkModeEnabled(_BASE_PTR); * @endcode */ #define DMA_PDD_GetContinuousLinkModeEnabled(PeripheralBase) ( \ (uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_CLM_MASK) \ ) /* ---------------------------------------------------------------------------- -- HaltOperations ---------------------------------------------------------------------------- */ /** * @brief Halts DMA operations. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_HaltOperations(_BASE_PTR); * @endcode */ #define DMA_PDD_HaltOperations(PeripheralBase) ( \ DMA_CR_REG(PeripheralBase) |= \ DMA_CR_HALT_MASK \ ) /* ---------------------------------------------------------------------------- -- ResumeOperations ---------------------------------------------------------------------------- */ /** * @brief Resumes halted DMA operations. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_ResumeOperations(_BASE_PTR); * @endcode */ #define DMA_PDD_ResumeOperations(PeripheralBase) ( \ DMA_CR_REG(PeripheralBase) &= \ (uint32)(~(uint32)DMA_CR_HALT_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableHaltOnError ---------------------------------------------------------------------------- */ /** * @brief Enables or disables stalling of DMA operations after error occurs. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param State Parameter specifying if error occurance halts DMA operations. * This parameter is of "Global enumeration used for specifying general * enable/disable states (PDD_DISABLE and PDD_ENABLE defined in PDD_Types.h)" * type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_EnableHaltOnError(_BASE_PTR, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableHaltOnError(PeripheralBase, State) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_HOE_MASK))) | ( \ (uint32)((uint32)(State) << DMA_CR_HOE_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetHaltOnErrorEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns DMA operations halt on error state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * uint32 result = DMA_PDD_GetHaltOnErrorEnabled(_BASE_PTR); * @endcode */ #define DMA_PDD_GetHaltOnErrorEnabled(PeripheralBase) ( \ (uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_HOE_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableRoundRobinArbitration ---------------------------------------------------------------------------- */ /** * @brief Enables or disables round robin channel arbitration. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param State Parameter specifying if round robin channel arbitration is * enabled or disabled. This parameter is of "Global enumeration used for * specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE defined * in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_EnableRoundRobinArbitration(_BASE_PTR, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableRoundRobinArbitration(PeripheralBase, State) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_ERCA_MASK))) | ( \ (uint32)((uint32)(State) << DMA_CR_ERCA_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetRoundRobinArbitrationEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns round robin channel arbitration state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * uint32 result = * DMA_PDD_GetRoundRobinArbitrationEnabled(_BASE_PTR); * @endcode */ #define DMA_PDD_GetRoundRobinArbitrationEnabled(PeripheralBase) ( \ (uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_ERCA_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableDebug ---------------------------------------------------------------------------- */ /** * @brief Enables or disables DMA operations in debug mode. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param State Parameter specifying if DMA operations in debug mode are enabled * or disabled. This parameter is of "Global enumeration used for * specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE defined * in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_EnableDebug(_BASE_PTR, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableDebug(PeripheralBase, State) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_EDBG_MASK))) | ( \ (uint32)((uint32)(State) << DMA_CR_EDBG_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetDebugEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns DMA operations in debug mode state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * uint32 result = DMA_PDD_GetDebugEnabled(_BASE_PTR); * @endcode */ #define DMA_PDD_GetDebugEnabled(PeripheralBase) ( \ (uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_EDBG_MASK) \ ) /* ---------------------------------------------------------------------------- -- ReadErrorStatusReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel error status register provading information about * last recorded channel error. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ES. * @par Example: * @code * uint32 result = DMA_PDD_ReadErrorStatusReg(_BASE_PTR); * @endcode */ #define DMA_PDD_ReadErrorStatusReg(PeripheralBase) ( \ DMA_ES_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- GetErrorStatusRegister ---------------------------------------------------------------------------- */ /** * @brief Deprecated. Use ReadErrorStatusReg PDD macro instead. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ES. * @par Example: * @code * uint32 result = DMA_PDD_GetErrorStatusRegister(_BASE_PTR); * @endcode */ #define DMA_PDD_GetErrorStatusRegister(PeripheralBase) ( \ DMA_ES_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- GetErrorStatusFlags ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Returns DMA channel error status flags provading information about * last recorded channel error. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ES. * @par Example: * @code * uint32 result = DMA_PDD_GetErrorStatusFlags(_BASE_PTR); * @endcode */ #define DMA_PDD_GetErrorStatusFlags(PeripheralBase) ( \ (uint32)(( \ DMA_ES_REG(PeripheralBase)) & ( \ (uint32)(( \ DMA_ES_ECX_MASK) | (( \ DMA_ES_GPE_MASK) | (( \ DMA_ES_CPE_MASK) | (( \ DMA_ES_SAE_MASK) | (( \ DMA_ES_SOE_MASK) | (( \ DMA_ES_DAE_MASK) | (( \ DMA_ES_DOE_MASK) | (( \ DMA_ES_NCE_MASK) | (( \ DMA_ES_SGE_MASK) | (( \ DMA_ES_SBE_MASK) | ( \ DMA_ES_DBE_MASK))))))))))))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel error status flags provading information about * last recorded channel error. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ES. * @par Example: * @code * uint32 result = DMA_PDD_GetErrorStatusFlags(_BASE_PTR); * @endcode */ #define DMA_PDD_GetErrorStatusFlags(PeripheralBase) ( \ (uint32)(( \ DMA_ES_REG(PeripheralBase)) & ( \ (uint32)(( \ DMA_ES_ECX_MASK) | (( \ DMA_ES_CPE_MASK) | (( \ DMA_ES_SAE_MASK) | (( \ DMA_ES_SOE_MASK) | (( \ DMA_ES_DAE_MASK) | (( \ DMA_ES_DOE_MASK) | (( \ DMA_ES_NCE_MASK) | (( \ DMA_ES_SGE_MASK) | (( \ DMA_ES_SBE_MASK) | ( \ DMA_ES_DBE_MASK)))))))))))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetErrorStatusChannel ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Returns DMA channel provading information about last recorded channel * error. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: DMA_ES. * @par Example: * @code * uint8 result = DMA_PDD_GetErrorStatusChannel(_BASE_PTR); * @endcode */ #define DMA_PDD_GetErrorStatusChannel(PeripheralBase) ( \ (uint8)(( \ (uint32)(DMA_ES_REG(PeripheralBase) & DMA_ES_ERRCHN_MASK)) >> ( \ DMA_ES_ERRCHN_SHIFT)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Returns DMA channel provading information about last recorded channel * error. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 5-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: DMA_ES. * @par Example: * @code * uint8 result = DMA_PDD_GetErrorStatusChannel(_BASE_PTR); * @endcode */ #define DMA_PDD_GetErrorStatusChannel(PeripheralBase) ( \ (uint8)(( \ (uint32)(DMA_ES_REG(PeripheralBase) & DMA_ES_ERRCHN_MASK)) >> ( \ DMA_ES_ERRCHN_SHIFT)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel provading information about last recorded channel * error. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 4-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: DMA_ES. * @par Example: * @code * uint8 result = DMA_PDD_GetErrorStatusChannel(_BASE_PTR); * @endcode */ #define DMA_PDD_GetErrorStatusChannel(PeripheralBase) ( \ (uint8)(( \ (uint32)(DMA_ES_REG(PeripheralBase) & DMA_ES_ERRCHN_MASK)) >> ( \ DMA_ES_ERRCHN_SHIFT)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteChannelPriorityReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA channel priority register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel index. This parameter is of index type. * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @par Example: * @code * DMA_PDD_WriteChannelPriorityReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_WriteChannelPriorityReg(PeripheralBase, Channel, Value) ( \ (DMA_PDD_DCHPRI_REG(PeripheralBase, Channel) = (uint8)(Value)) \ ) /* ---------------------------------------------------------------------------- -- ReadChannelPriorityReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel priority register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel index. This parameter is of index type. * @return Returns a 8-bit value. * @par Example: * @code * uint8 result = DMA_PDD_ReadChannelPriorityReg(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_ReadChannelPriorityReg(PeripheralBase, Channel) ( \ (DMA_PDD_DCHPRI_REG(PeripheralBase, Channel)) \ ) /* ---------------------------------------------------------------------------- -- DCHPRI_REG ---------------------------------------------------------------------------- */ /** * @brief SetChannelPriority channel parameter conversion. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel index. This parameter is of index type. * @return Returns a value of void type. * @par Example: * @code * DMA_PDD_DCHPRI_REG(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_DCHPRI_REG(PeripheralBase, Channel) ( \ (&DMA_DCHPRI3_REG(PeripheralBase))[Channel^3U] \ ) /* ---------------------------------------------------------------------------- -- SetChannelPriority ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel priority register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel index. This parameter is of index type. * @param EnablePreemption Parameter specifying if DMA channel can be * temporarily suspended by the service request of a higher priority channel. This * parameter is a 8-bit value. * @param EnablePreemptAbility Parameter specifying if DMA channel can suspend a * lower priority channel. This parameter is a 8-bit value. * @param Priority Data word value. This parameter is a 4-bit value. * @return Returns a value of void type. * @par Example: * @code * DMA_PDD_SetChannelPriority(_BASE_PTR, periphID, 1, 1, 1); * @endcode */ #define DMA_PDD_SetChannelPriority(PeripheralBase, Channel, EnablePreemption, EnablePreemptAbility, Priority) ( \ (DMA_PDD_DCHPRI_REG(PeripheralBase, Channel) = ( \ (EnablePreemptAbility) ? ( \ (uint8)((uint8)(EnablePreemption) << DMA_DCHPRI3_ECP_SHIFT) | \ (uint8)((((uint8)(Priority) & DMA_DCHPRI3_CHPRI_MASK) << DMA_DCHPRI3_CHPRI_SHIFT)) \ ) : ( \ (uint8)((uint8)(EnablePreemption) << DMA_DCHPRI3_ECP_SHIFT) | \ (uint8)((((uint8)(Priority) & DMA_DCHPRI3_CHPRI_MASK) << DMA_DCHPRI3_CHPRI_SHIFT)) | \ (DMA_DCHPRI3_DPA_MASK) \ ) \ )) \ ) /* ---------------------------------------------------------------------------- -- WriteEnableRegs ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA set/clear error interrupts and channel requests enable * registers. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value DMA control registers value. This parameter is a 32-bit value. * @return Returns a value of void type. * @par Example: * @code * DMA_PDD_WriteEnableRegs(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteEnableRegs(PeripheralBase, Value) ( \ DMA_CEEI_REG(PeripheralBase) = (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- WriteFlagRegs ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA clear done status, clear error and interrupt flags and * set start channel request registers. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value DMA flag registers value. This parameter is a 32-bit value. * @return Returns a value of void type. * @par Example: * @code * DMA_PDD_WriteFlagRegs(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteFlagRegs(PeripheralBase, Value) ( \ DMA_CDNE_REG(PeripheralBase) = (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- WriteEnableRequestReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA enable request register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_ERQ. * @par Example: * @code * DMA_PDD_WriteEnableRequestReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteEnableRequestReg(PeripheralBase, Value) ( \ DMA_ERQ_REG(PeripheralBase) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadEnableRequestReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA enable request register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ERQ. * @par Example: * @code * uint32 result = DMA_PDD_ReadEnableRequestReg(_BASE_PTR); * @endcode */ #define DMA_PDD_ReadEnableRequestReg(PeripheralBase) ( \ DMA_ERQ_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- EnableRequestMask ---------------------------------------------------------------------------- */ /** * @brief Enables DMA channels requests specified by Mask parameter, rest is not * changed. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA requests to be enabled. This parameter is a 32-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_ERQ. * @par Example: * @code * DMA_PDD_EnableRequestMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_EnableRequestMask(PeripheralBase, Mask) ( \ DMA_ERQ_REG(PeripheralBase) |= \ (uint32)(Mask) \ ) /* ---------------------------------------------------------------------------- -- DisableRequestMask ---------------------------------------------------------------------------- */ /** * @brief Disables DMA channels requests specified by Mask parameter, rest is * not changed. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA requests to be disabled. This parameter is a 32-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_ERQ. * @par Example: * @code * DMA_PDD_DisableRequestMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_DisableRequestMask(PeripheralBase, Mask) ( \ DMA_ERQ_REG(PeripheralBase) &= \ (uint32)(~(uint32)(Mask)) \ ) /* ---------------------------------------------------------------------------- -- SetRequestEnableMask ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channels requests. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA requests to be enabled. This parameter is a 32-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_ERQ. * @par Example: * @code * DMA_PDD_SetRequestEnableMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_SetRequestEnableMask(PeripheralBase, Mask) ( \ DMA_ERQ_REG(PeripheralBase) = \ (uint32)(Mask) \ ) /* ---------------------------------------------------------------------------- -- GetRequestEnableMask ---------------------------------------------------------------------------- */ /** * @brief Returns mask of enabled DMA channels requests. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ERQ. * @par Example: * @code * uint32 result = DMA_PDD_GetRequestEnableMask(_BASE_PTR); * @endcode */ #define DMA_PDD_GetRequestEnableMask(PeripheralBase) ( \ DMA_ERQ_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- WriteSetEnableRequestReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA set enable request register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SERQ. * @par Example: * @code * DMA_PDD_WriteSetEnableRequestReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteSetEnableRequestReg(PeripheralBase, Value) ( \ DMA_SERQ_REG(PeripheralBase) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- SetRequestEnable ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Sets DMA channel request. If AllChannels = '1' then all requests are * enabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Enable all DMA channel requests. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA channel request number. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SERQ. * @par Example: * @code * DMA_PDD_SetRequestEnable(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_SetRequestEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_SERQ_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Sets DMA channel request. If AllChannels = '1' then all requests are * enabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Enable all DMA channel requests. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA channel request number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SERQ. * @par Example: * @code * DMA_PDD_SetRequestEnable(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_SetRequestEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_SERQ_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel request. If AllChannels = '1' then all requests are * enabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Enable all DMA channel requests. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA channel request number. This parameter is a 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SERQ. * @par Example: * @code * DMA_PDD_SetRequestEnable(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_SetRequestEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_SERQ_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- EnableRequest ---------------------------------------------------------------------------- */ /** * @brief Enables DMA channel peripheral request. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel request number. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SERQ. * @par Example: * @code * DMA_PDD_EnableRequest(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_EnableRequest(PeripheralBase, Channel) ( \ DMA_SERQ_REG(PeripheralBase) = \ (uint8)(Channel) \ ) /* ---------------------------------------------------------------------------- -- WriteClearEnableRequestReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA clear enable request register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERQ. * @par Example: * @code * DMA_PDD_WriteClearEnableRequestReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteClearEnableRequestReg(PeripheralBase, Value) ( \ DMA_CERQ_REG(PeripheralBase) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- DisableRequest ---------------------------------------------------------------------------- */ /** * @brief Disables DMA channel peripheral request. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel request number. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERQ. * @par Example: * @code * DMA_PDD_DisableRequest(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_DisableRequest(PeripheralBase, Channel) ( \ DMA_CERQ_REG(PeripheralBase) = \ (uint8)(Channel) \ ) /* ---------------------------------------------------------------------------- -- ClearRequestEnable ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Clears DMA channel request. If AllChannels = '1' then all requests are * disabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Disable all DMA channel requests. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA channel request number. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERQ. * @par Example: * @code * DMA_PDD_ClearRequestEnable(_BASE_PTR, DMA_PDD_ONE_CHANNEL, * 1); * @endcode */ #define DMA_PDD_ClearRequestEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_CERQ_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Clears DMA channel request. If AllChannels = '1' then all requests are * disabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Disable all DMA channel requests. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA channel request number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERQ. * @par Example: * @code * DMA_PDD_ClearRequestEnable(_BASE_PTR, DMA_PDD_ONE_CHANNEL, * 1); * @endcode */ #define DMA_PDD_ClearRequestEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_CERQ_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Clears DMA channel request. If AllChannels = '1' then all requests are * disabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Disable all DMA channel requests. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA channel request number. This parameter is a 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERQ. * @par Example: * @code * DMA_PDD_ClearRequestEnable(_BASE_PTR, DMA_PDD_ONE_CHANNEL, * 1); * @endcode */ #define DMA_PDD_ClearRequestEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_CERQ_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- EnablePeripheralRequest ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Enables or disables peripheral requests. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel peripheral requests will be * enabled or ignored. This parameter is of "Global enumeration used for * specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE * defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERQ, DMA_SERQ, * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnablePeripheralRequest(_BASE_PTR, * DMA_PDD_CHANNEL_0, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnablePeripheralRequest(PeripheralBase, Channel, State) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_ERQ_MASK)))) | ( \ (uint32)((uint32)(State) << DMA_DCR_ERQ_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Enables or disables peripheral requests. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel request number. This parameter is a 8-bit value. * @param State Parameter specifying if DMA channel peripheral requests will be * enabled or ignored. This parameter is of "Global enumeration used for * specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE * defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERQ, DMA_SERQ, * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnablePeripheralRequest(_BASE_PTR, 1, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnablePeripheralRequest(PeripheralBase, Channel, State) ( \ ((State) == PDD_DISABLE) ? ( \ DMA_CERQ_REG(PeripheralBase) = \ (uint8)(Channel)) : ( \ DMA_SERQ_REG(PeripheralBase) = \ (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteEnableErrorInterruptReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA enable error interrupt register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_EEI. * @par Example: * @code * DMA_PDD_WriteEnableErrorInterruptReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteEnableErrorInterruptReg(PeripheralBase, Value) ( \ DMA_EEI_REG(PeripheralBase) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadEnableErrorInterruptReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA enable error interrupt register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_EEI. * @par Example: * @code * uint32 result = * DMA_PDD_ReadEnableErrorInterruptReg(_BASE_PTR); * @endcode */ #define DMA_PDD_ReadEnableErrorInterruptReg(PeripheralBase) ( \ DMA_EEI_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- EnableErrorInterruptMask ---------------------------------------------------------------------------- */ /** * @brief Enables DMA channels error interrupts specified by Mask parameter, * rest is not changed. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA error interrupts to be enabled. This parameter is a * 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_EEI. * @par Example: * @code * DMA_PDD_EnableErrorInterruptMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_EnableErrorInterruptMask(PeripheralBase, Mask) ( \ DMA_EEI_REG(PeripheralBase) |= \ (uint32)(Mask) \ ) /* ---------------------------------------------------------------------------- -- DisableErrorInterruptMask ---------------------------------------------------------------------------- */ /** * @brief Disables DMA channels error interrupts specified by Mask parameter, * rest is not changed. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA error interrupts to be disabled. This parameter is a * 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_EEI. * @par Example: * @code * DMA_PDD_DisableErrorInterruptMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_DisableErrorInterruptMask(PeripheralBase, Mask) ( \ DMA_EEI_REG(PeripheralBase) &= \ (uint32)(~(uint32)(Mask)) \ ) /* ---------------------------------------------------------------------------- -- SetErrorInterruptEnableMask ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channels error interrupts. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA error interrupts to be enabled. This parameter is a * 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_EEI. * @par Example: * @code * DMA_PDD_SetErrorInterruptEnableMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_SetErrorInterruptEnableMask(PeripheralBase, Mask) ( \ DMA_EEI_REG(PeripheralBase) = \ (uint32)(Mask) \ ) /* ---------------------------------------------------------------------------- -- GetErrorInterruptEnableMask ---------------------------------------------------------------------------- */ /** * @brief Returns mask of DMA channels error interrupts. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_EEI. * @par Example: * @code * uint32 result = * DMA_PDD_GetErrorInterruptEnableMask(_BASE_PTR); * @endcode */ #define DMA_PDD_GetErrorInterruptEnableMask(PeripheralBase) ( \ DMA_EEI_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- WriteSetEnableErrorInterruptReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA set enable error interrupt register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SEEI. * @par Example: * @code * DMA_PDD_WriteSetEnableErrorInterruptReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteSetEnableErrorInterruptReg(PeripheralBase, Value) ( \ DMA_SEEI_REG(PeripheralBase) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- SetErrorInterruptEnable ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Sets DMA channel error interrupt. If AllChannels = '1' then all * interrupts are enabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Enable all DMA error interrupts. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA error interrupt channel number. This parameter is a 2-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SEEI. * @par Example: * @code * DMA_PDD_SetErrorInterruptEnable(_BASE_PTR, * DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_SetErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_SEEI_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Sets DMA channel error interrupt. If AllChannels = '1' then all * interrupts are enabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Enable all DMA error interrupts. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA error interrupt channel number. This parameter is a 5-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SEEI. * @par Example: * @code * DMA_PDD_SetErrorInterruptEnable(_BASE_PTR, * DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_SetErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_SEEI_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel error interrupt. If AllChannels = '1' then all * interrupts are enabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Enable all DMA error interrupts. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA error interrupt channel number. This parameter is a 4-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SEEI. * @par Example: * @code * DMA_PDD_SetErrorInterruptEnable(_BASE_PTR, * DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_SetErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_SEEI_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- EnableErrorInterrupt ---------------------------------------------------------------------------- */ /** * @brief Enables DMA channel error interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SEEI. * @par Example: * @code * DMA_PDD_EnableErrorInterrupt(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_EnableErrorInterrupt(PeripheralBase, Channel) ( \ DMA_SEEI_REG(PeripheralBase) = \ (uint8)(Channel) \ ) /* ---------------------------------------------------------------------------- -- WriteClearEnableErrorInterruptReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA clear enable error interrupt register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CEEI. * @par Example: * @code * DMA_PDD_WriteClearEnableErrorInterruptReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteClearEnableErrorInterruptReg(PeripheralBase, Value) ( \ DMA_CEEI_REG(PeripheralBase) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- ClearErrorInterruptEnable ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Clears DMA channel error interrupt. If AllChannels = '1' then all * interrupts are disabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Disable all DMA error interrupts. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA error interrupt channel number. This parameter is a 2-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CEEI. * @par Example: * @code * DMA_PDD_ClearErrorInterruptEnable(_BASE_PTR, * DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_CEEI_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Clears DMA channel error interrupt. If AllChannels = '1' then all * interrupts are disabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Disable all DMA error interrupts. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA error interrupt channel number. This parameter is a 5-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CEEI. * @par Example: * @code * DMA_PDD_ClearErrorInterruptEnable(_BASE_PTR, * DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_CEEI_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Clears DMA channel error interrupt. If AllChannels = '1' then all * interrupts are disabled regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Disable all DMA error interrupts. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA error interrupt channel number. This parameter is a 4-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CEEI. * @par Example: * @code * DMA_PDD_ClearErrorInterruptEnable(_BASE_PTR, * DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \ DMA_CEEI_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- DisableErrorInterrupt ---------------------------------------------------------------------------- */ /** * @brief Disables DMA channel error interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CEEI. * @par Example: * @code * DMA_PDD_DisableErrorInterrupt(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_DisableErrorInterrupt(PeripheralBase, Channel) ( \ DMA_CEEI_REG(PeripheralBase) = \ (uint8)(Channel) \ ) /* ---------------------------------------------------------------------------- -- WriteClearInterruptRequestReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA clear interrupt request register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CINT. * @par Example: * @code * DMA_PDD_WriteClearInterruptRequestReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteClearInterruptRequestReg(PeripheralBase, Value) ( \ DMA_CINT_REG(PeripheralBase) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- ClearInterruptFlags ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Clears DMA channel interrupt request flag. If AllChannels = '1' then * all requests are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA interrupt requests. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA interrupt request channel number. This parameter is a * 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CINT, * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_ClearInterruptFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, * 1); * @endcode */ #define DMA_PDD_ClearInterruptFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CINT_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Clears interrupt flag bits defined by mask parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Mask Mask of interrupt's flags to clear. Use constants from group * "Interrupts' flags". This parameter is 32 bits wide. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CINT, * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_ClearInterruptFlags(_BASE_PTR, DMA_PDD_CHANNEL_0, * DMA_PDD_TRANSFER_COMPLETE_FLAG); * @endcode */ #define DMA_PDD_ClearInterruptFlags(PeripheralBase, Channel, Mask) ( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel)) |= \ (uint32)(Mask) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Clears DMA channel interrupt request flag. If AllChannels = '1' then * all requests are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA interrupt requests. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA interrupt request channel number. This parameter is a * 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CINT, * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_ClearInterruptFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, * 1); * @endcode */ #define DMA_PDD_ClearInterruptFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CINT_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Clears DMA channel interrupt request flag. If AllChannels = '1' then * all requests are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA interrupt requests. This parameter is of * "Set all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA interrupt request channel number. This parameter is a * 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CINT, * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_ClearInterruptFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, * 1); * @endcode */ #define DMA_PDD_ClearInterruptFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CINT_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- ClearChannelInterruptFlag ---------------------------------------------------------------------------- */ /** * @brief Clears DMA channel interrupt flag. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CINT. * @par Example: * @code * DMA_PDD_ClearChannelInterruptFlag(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_ClearChannelInterruptFlag(PeripheralBase, Channel) ( \ DMA_CINT_REG(PeripheralBase) = \ (uint8)(Channel) \ ) /* ---------------------------------------------------------------------------- -- WriteInterruptRequestReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA interrupt request register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_INT. * @par Example: * @code * DMA_PDD_WriteInterruptRequestReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteInterruptRequestReg(PeripheralBase, Value) ( \ DMA_INT_REG(PeripheralBase) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadInterruptRequestReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA interrupt request register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_INT. * @par Example: * @code * uint32 result = * DMA_PDD_ReadInterruptRequestReg(_BASE_PTR); * @endcode */ #define DMA_PDD_ReadInterruptRequestReg(PeripheralBase) ( \ DMA_INT_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- ClearInterruptFlagsMask ---------------------------------------------------------------------------- */ /** * @brief Clears DMA channels interrupt requests specified by Mask parameter, * rest is not changed. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA interrupt requests to be cleared. This parameter is a * 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_INT. * @par Example: * @code * DMA_PDD_ClearInterruptFlagsMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_ClearInterruptFlagsMask(PeripheralBase, Mask) ( \ DMA_INT_REG(PeripheralBase) &= \ (uint32)(~(uint32)(Mask)) \ ) /* ---------------------------------------------------------------------------- -- GetInterruptFlagsMask ---------------------------------------------------------------------------- */ /** * @brief Returns mask of DMA channels interrupt requests. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_INT. * @par Example: * @code * uint32 result = DMA_PDD_GetInterruptFlagsMask(_BASE_PTR); * @endcode */ #define DMA_PDD_GetInterruptFlagsMask(PeripheralBase) ( \ DMA_INT_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- WriteClearErrorReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA clear error register register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERR. * @par Example: * @code * DMA_PDD_WriteClearErrorReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteClearErrorReg(PeripheralBase, Value) ( \ DMA_CERR_REG(PeripheralBase) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- ClearChannelErrorFlag ---------------------------------------------------------------------------- */ /** * @brief Clears DMA channel error flag. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERR. * @par Example: * @code * DMA_PDD_ClearChannelErrorFlag(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_ClearChannelErrorFlag(PeripheralBase, Channel) ( \ DMA_CERR_REG(PeripheralBase) = \ (uint8)(Channel) \ ) /* ---------------------------------------------------------------------------- -- ClearErrorFlags ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Clears DMA channel error flag. If AllChannels = '1' then all errors * are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA errors. This parameter is of "Set all or * only one DMA channel. Used in Set/Clear macros to distinct between * setting/clearing attribute of one specified channel or of all channels." type. * @param Channel DMA error channel number. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERR. * @par Example: * @code * DMA_PDD_ClearErrorFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearErrorFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CERR_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Clears DMA channel error flag. If AllChannels = '1' then all errors * are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA errors. This parameter is of "Set all or * only one DMA channel. Used in Set/Clear macros to distinct between * setting/clearing attribute of one specified channel or of all channels." type. * @param Channel DMA error channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERR. * @par Example: * @code * DMA_PDD_ClearErrorFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearErrorFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CERR_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Clears DMA channel error flag. If AllChannels = '1' then all errors * are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA errors. This parameter is of "Set all or * only one DMA channel. Used in Set/Clear macros to distinct between * setting/clearing attribute of one specified channel or of all channels." type. * @param Channel DMA error channel number. This parameter is a 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CERR. * @par Example: * @code * DMA_PDD_ClearErrorFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearErrorFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CERR_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteErrorReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA error register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_ERR. * @par Example: * @code * DMA_PDD_WriteErrorReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteErrorReg(PeripheralBase, Value) ( \ DMA_ERR_REG(PeripheralBase) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadErrorReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA error register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ERR. * @par Example: * @code * uint32 result = DMA_PDD_ReadErrorReg(_BASE_PTR); * @endcode */ #define DMA_PDD_ReadErrorReg(PeripheralBase) ( \ DMA_ERR_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- ClearErrorFlagsMask ---------------------------------------------------------------------------- */ /** * @brief Clears DMA channels error flags specified by Mask parameter, rest is * not changed. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA errors to be cleared. This parameter is a 32-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_ERR. * @par Example: * @code * DMA_PDD_ClearErrorFlagsMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_ClearErrorFlagsMask(PeripheralBase, Mask) ( \ DMA_ERR_REG(PeripheralBase) &= \ (uint32)(~(uint32)(Mask)) \ ) /* ---------------------------------------------------------------------------- -- GetErrorFlagsMask ---------------------------------------------------------------------------- */ /** * @brief Returns mask of DMA channel error flags. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ERR. * @par Example: * @code * uint32 result = DMA_PDD_GetErrorFlagsMask(_BASE_PTR); * @endcode */ #define DMA_PDD_GetErrorFlagsMask(PeripheralBase) ( \ DMA_ERR_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- GetChannelErrorFlag ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel error flag. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is a 8-bit value. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_ERR. * @par Example: * @code * uint32 result = DMA_PDD_GetChannelErrorFlag(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_GetChannelErrorFlag(PeripheralBase, Channel) ( \ (uint32)(DMA_ERR_REG(PeripheralBase) & (uint32)((uint32)0x1U << (uint8)(Channel))) \ ) /* ---------------------------------------------------------------------------- -- WriteSetStartBitReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA set START bit register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SSRT. * @par Example: * @code * DMA_PDD_WriteSetStartBitReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteSetStartBitReg(PeripheralBase, Value) ( \ DMA_SSRT_REG(PeripheralBase) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- StartTransfer ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Starts DMA channel transfer request via a software initiated service * request. If AllChannels = '1' then transfer start is requested for all channels * regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Request transfer start for all channels. This parameter is * of "Set all or only one DMA channel. Used in Set/Clear macros to * distinct between setting/clearing attribute of one specified channel or of * all channels." type. * @param Channel DMA channel number. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SSRT, DCR[Channel] * (depending on the peripheral). * @par Example: * @code * DMA_PDD_StartTransfer(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_StartTransfer(PeripheralBase, AllChannels, Channel) ( \ DMA_SSRT_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Starts DMA channel transfer request via a software initiated service * request. If AllChannels = '1' then transfer start is requested for all channels * regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SSRT, DCR[Channel] * (depending on the peripheral). * @par Example: * @code * DMA_PDD_StartTransfer(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_StartTransfer(PeripheralBase, Channel) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) |= \ DMA_DCR_START_MASK \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Starts DMA channel transfer request via a software initiated service * request. If AllChannels = '1' then transfer start is requested for all channels * regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Request transfer start for all channels. This parameter is * of "Set all or only one DMA channel. Used in Set/Clear macros to * distinct between setting/clearing attribute of one specified channel or of * all channels." type. * @param Channel DMA channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SSRT, DCR[Channel] * (depending on the peripheral). * @par Example: * @code * DMA_PDD_StartTransfer(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_StartTransfer(PeripheralBase, AllChannels, Channel) ( \ DMA_SSRT_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Starts DMA channel transfer request via a software initiated service * request. If AllChannels = '1' then transfer start is requested for all channels * regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Request transfer start for all channels. This parameter is * of "Set all or only one DMA channel. Used in Set/Clear macros to * distinct between setting/clearing attribute of one specified channel or of * all channels." type. * @param Channel DMA channel number. This parameter is a 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_SSRT, DCR[Channel] * (depending on the peripheral). * @par Example: * @code * DMA_PDD_StartTransfer(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_StartTransfer(PeripheralBase, AllChannels, Channel) ( \ DMA_SSRT_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteClearDoneBitReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA clear DONE status bit register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CDNE. * @par Example: * @code * DMA_PDD_WriteClearDoneBitReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteClearDoneBitReg(PeripheralBase, Value) ( \ DMA_CDNE_REG(PeripheralBase) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- ClearDoneFlags ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Clears DMA channel done status. If AllChannels = '1' then all status * of all channels are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA channels status. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA status channel number. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CDNE. * @par Example: * @code * DMA_PDD_ClearDoneFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearDoneFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CDNE_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Clears DMA channel done status. If AllChannels = '1' then all status * of all channels are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA channels status. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA status channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CDNE. * @par Example: * @code * DMA_PDD_ClearDoneFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearDoneFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CDNE_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Clears DMA channel done status. If AllChannels = '1' then all status * of all channels are cleared regardless of Channel parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param AllChannels Clear all DMA channels status. This parameter is of "Set * all or only one DMA channel. Used in Set/Clear macros to distinct * between setting/clearing attribute of one specified channel or of all * channels." type. * @param Channel DMA status channel number. This parameter is a 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CDNE. * @par Example: * @code * DMA_PDD_ClearDoneFlags(_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1); * @endcode */ #define DMA_PDD_ClearDoneFlags(PeripheralBase, AllChannels, Channel) ( \ DMA_CDNE_REG(PeripheralBase) = \ (uint8)((uint8)(AllChannels) | (uint8)(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- ClearDoneFlag ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Clears channel done status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CDNE, * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = DMA_PDD_ClearDoneFlag(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_ClearDoneFlag(PeripheralBase, Channel) ( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel)) |= \ DMA_DSR_BCR_DONE_MASK \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Clears DMA channel done status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is a 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CDNE, * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_ClearDoneFlag(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_ClearDoneFlag(PeripheralBase, Channel) ( \ DMA_CDNE_REG(PeripheralBase) = \ (uint8)(Channel) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteHwRequestStatusReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA hardware request status register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_HRS. * @par Example: * @code * DMA_PDD_WriteHwRequestStatusReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteHwRequestStatusReg(PeripheralBase, Value) ( \ DMA_HRS_REG(PeripheralBase) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadHwRequestStatusReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA hardware request status register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_HRS. * @par Example: * @code * uint32 result = DMA_PDD_ReadHwRequestStatusReg(_BASE_PTR); * @endcode */ #define DMA_PDD_ReadHwRequestStatusReg(PeripheralBase) ( \ DMA_HRS_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- GetRequestFlagsMask ---------------------------------------------------------------------------- */ /** * @brief Returns mask of DMA channels requests status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_HRS. * @par Example: * @code * uint32 result = DMA_PDD_GetRequestFlagsMask(_BASE_PTR); * @endcode */ #define DMA_PDD_GetRequestFlagsMask(PeripheralBase) ( \ DMA_HRS_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- WriteSourceAddressReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA TCD source address register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: SADDR[Channel]. * @par Example: * @code * DMA_PDD_WriteSourceAddressReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_WriteSourceAddressReg(PeripheralBase, Channel, Value) ( \ DMA_SADDR_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadSourceAddressReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA TCD source address register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: SADDR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_ReadSourceAddressReg(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_ReadSourceAddressReg(PeripheralBase, Channel) ( \ DMA_SADDR_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetSourceAddress ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Sets DMA channel source address. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Address DMA channel source address. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: SADDR[Channel], * SAR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetSourceAddress(_BASE_PTR, DMA_PDD_CHANNEL_0, 1); * @endcode */ #define DMA_PDD_SetSourceAddress(PeripheralBase, Channel, Address) ( \ DMA_SAR_REG(PeripheralBase,(Channel)) = \ (uint32)(Address) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel source address. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Address DMA channel source address. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: SADDR[Channel], * SAR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetSourceAddress(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetSourceAddress(PeripheralBase, Channel, Address) ( \ DMA_SADDR_REG(PeripheralBase,(Channel)) = \ (uint32)(Address) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetSourceAddress ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns DMA channel source address. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: SADDR[Channel], * SAR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = DMA_PDD_GetSourceAddress(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetSourceAddress(PeripheralBase, Channel) ( \ DMA_SAR_REG(PeripheralBase,(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel source address. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: SADDR[Channel], * SAR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = DMA_PDD_GetSourceAddress(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetSourceAddress(PeripheralBase, Channel) ( \ DMA_SADDR_REG(PeripheralBase,(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteDestinationAddressReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA TCD destination address register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DADDR[Channel]. * @par Example: * @code * DMA_PDD_WriteDestinationAddressReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_WriteDestinationAddressReg(PeripheralBase, Channel, Value) ( \ DMA_DADDR_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadDestinationAddressReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA TCD destination address register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DADDR[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_ReadDestinationAddressReg(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_ReadDestinationAddressReg(PeripheralBase, Channel) ( \ DMA_DADDR_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetDestinationAddress ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Sets DMA channel destination address. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Address DMA channel destination address. This parameter is a 32-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DADDR[Channel], * DAR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetDestinationAddress(_BASE_PTR, DMA_PDD_CHANNEL_0, * 1); * @endcode */ #define DMA_PDD_SetDestinationAddress(PeripheralBase, Channel, Address) ( \ DMA_DAR_REG(PeripheralBase,(Channel)) = \ (uint32)(Address) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel destination address. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Address DMA channel destination address. This parameter is a 32-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DADDR[Channel], * DAR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetDestinationAddress(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetDestinationAddress(PeripheralBase, Channel, Address) ( \ DMA_DADDR_REG(PeripheralBase,(Channel)) = \ (uint32)(Address) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetDestinationAddress ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns DMA channel destination address. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DADDR[Channel], * DAR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = DMA_PDD_GetDestinationAddress(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetDestinationAddress(PeripheralBase, Channel) ( \ DMA_DAR_REG(PeripheralBase,(Channel)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel destination address. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DADDR[Channel], * DAR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = DMA_PDD_GetDestinationAddress(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetDestinationAddress(PeripheralBase, Channel) ( \ DMA_DADDR_REG(PeripheralBase,(Channel)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteSourceAddressOffsetReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA TCD source address offset register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value Register value. This parameter is a 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: SOFF[Channel]. * @par Example: * @code * DMA_PDD_WriteSourceAddressOffsetReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_WriteSourceAddressOffsetReg(PeripheralBase, Channel, Value) ( \ DMA_SOFF_REG(PeripheralBase,(Channel)) = \ (uint16)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadSourceAddressOffsetReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA TCD source address offset register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: SOFF[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_ReadSourceAddressOffsetReg(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_ReadSourceAddressOffsetReg(PeripheralBase, Channel) ( \ DMA_SOFF_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetSourceAddressOffset ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel source address offset. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Offset DMA channel source address offset. This parameter is a 16-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: SOFF[Channel]. * @par Example: * @code * DMA_PDD_SetSourceAddressOffset(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetSourceAddressOffset(PeripheralBase, Channel, Offset) ( \ DMA_SOFF_REG(PeripheralBase,(Channel)) = \ (uint16)(Offset) \ ) /* ---------------------------------------------------------------------------- -- GetSourceAddressOffset ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel source address offset. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: SOFF[Channel]. * @par Example: * @code * uint16 result = DMA_PDD_GetSourceAddressOffset(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetSourceAddressOffset(PeripheralBase, Channel) ( \ DMA_SOFF_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- WriteDestinationAddressOffsetReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA TCD destination address offset register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value Register value. This parameter is a 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DOFF[Channel]. * @par Example: * @code * DMA_PDD_WriteDestinationAddressOffsetReg(_BASE_PTR, * periphID, 1); * @endcode */ #define DMA_PDD_WriteDestinationAddressOffsetReg(PeripheralBase, Channel, Value) ( \ DMA_DOFF_REG(PeripheralBase,(Channel)) = \ (uint16)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadDestinationAddressOffsetReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA TCD destination address offset register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: DOFF[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_ReadDestinationAddressOffsetReg(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_ReadDestinationAddressOffsetReg(PeripheralBase, Channel) ( \ DMA_DOFF_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetDestinationAddressOffset ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel destination address offset. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Offset DMA channel destination address offset. This parameter is a * 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DOFF[Channel]. * @par Example: * @code * DMA_PDD_SetDestinationAddressOffset(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetDestinationAddressOffset(PeripheralBase, Channel, Offset) ( \ DMA_DOFF_REG(PeripheralBase,(Channel)) = \ (uint16)(Offset) \ ) /* ---------------------------------------------------------------------------- -- GetDestinationAddressOffset ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel destination address offset. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: DOFF[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetDestinationAddressOffset(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetDestinationAddressOffset(PeripheralBase, Channel) ( \ DMA_DOFF_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- WriteTransferAttributesReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA channel transfer attributes register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value Transfer attributes register value. This parameter is a 16-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel]. * @par Example: * @code * DMA_PDD_WriteTransferAttributesReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_WriteTransferAttributesReg(PeripheralBase, Channel, Value) ( \ DMA_ATTR_REG(PeripheralBase,(Channel)) = \ (uint16)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadTransferAttributesReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel transfer attributes register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: ATTR[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_ReadTransferAttributesReg(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_ReadTransferAttributesReg(PeripheralBase, Channel) ( \ DMA_ATTR_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetSourceAddressModulo ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Sets DMA channel source address modulo. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Modulo DMA channel source address modulo. Use constants from group * "Circular buffer size constants". This parameter is 4 bits wide. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetSourceAddressModulo(_BASE_PTR, * DMA_PDD_CHANNEL_0, DMA_PDD_CIRCULAR_BUFFER_DISABLED); * @endcode */ #define DMA_PDD_SetSourceAddressModulo(PeripheralBase, Channel, Modulo) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_SMOD_MASK)))) | ( \ (uint32)((uint32)(Modulo) << DMA_DCR_SMOD_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel source address modulo. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Modulo DMA channel source address modulo. This parameter is a 5-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetSourceAddressModulo(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetSourceAddressModulo(PeripheralBase, Channel, Modulo) ( \ DMA_ATTR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_ATTR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_ATTR_SMOD_MASK)))) | ( \ (uint16)((uint16)(Modulo) << DMA_ATTR_SMOD_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetSourceAddressModulo ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns DMA channel source address modulo. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Use constants from group "Circular buffer size constants" for * processing return value. The value is cast to "uint8". * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint8 result = DMA_PDD_GetSourceAddressModulo(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetSourceAddressModulo(PeripheralBase, Channel) ( \ (uint8)(( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_SMOD_MASK)) >> ( \ DMA_DCR_SMOD_SHIFT)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel source address modulo. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 5-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint8 result = DMA_PDD_GetSourceAddressModulo(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetSourceAddressModulo(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(DMA_ATTR_REG(PeripheralBase,(Channel)) & DMA_ATTR_SMOD_MASK)) >> ( \ DMA_ATTR_SMOD_SHIFT)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- SetSourceDataTransferSize ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Sets DMA channel source data tranfer size. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Size DMA channel source data tranfer block size. This parameter is of * "DMA data transfer block size." type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetSourceDataTransferSize(_BASE_PTR, * DMA_PDD_CHANNEL_0, DMA_PDD_8_BIT); * @endcode */ #define DMA_PDD_SetSourceDataTransferSize(PeripheralBase, Channel, Size) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_SSIZE_MASK)))) | ( \ (uint32)((uint32)(Size) << DMA_DCR_SSIZE_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel source data tranfer size. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Size DMA channel source data tranfer block size. This parameter is of * "DMA data transfer block size." type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetSourceDataTransferSize(_BASE_PTR, periphID, * DMA_PDD_8_BIT); * @endcode */ #define DMA_PDD_SetSourceDataTransferSize(PeripheralBase, Channel, Size) ( \ DMA_ATTR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_ATTR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_ATTR_SSIZE_MASK)))) | ( \ (uint16)((uint16)(Size) << DMA_ATTR_SSIZE_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetSourceDataTransferSize ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns DMA channel source data tranfer size. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint8 result = * DMA_PDD_GetSourceDataTransferSize(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetSourceDataTransferSize(PeripheralBase, Channel) ( \ (uint8)(( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_SSIZE_MASK)) >> ( \ DMA_DCR_SSIZE_SHIFT)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel source data tranfer size. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 3-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint8 result = * DMA_PDD_GetSourceDataTransferSize(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetSourceDataTransferSize(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(DMA_ATTR_REG(PeripheralBase,(Channel)) & DMA_ATTR_SSIZE_MASK)) >> ( \ DMA_ATTR_SSIZE_SHIFT)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- SetDestinationAddressModulo ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Sets DMA channel destination address modulo. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Modulo DMA channel destination address modulo. Use constants from * group "Circular buffer size constants". This parameter is 4 bits wide. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetDestinationAddressModulo(_BASE_PTR, * DMA_PDD_CHANNEL_0, DMA_PDD_CIRCULAR_BUFFER_DISABLED); * @endcode */ #define DMA_PDD_SetDestinationAddressModulo(PeripheralBase, Channel, Modulo) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_DMOD_MASK)))) | ( \ (uint32)((uint32)(Modulo) << DMA_DCR_DMOD_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel destination address modulo. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Modulo DMA channel destination address modulo. This parameter is a * 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetDestinationAddressModulo(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetDestinationAddressModulo(PeripheralBase, Channel, Modulo) ( \ DMA_ATTR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_ATTR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_ATTR_DMOD_MASK)))) | ( \ (uint16)((uint16)(Modulo) << DMA_ATTR_DMOD_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetDestinationAddressModulo ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns DMA channel destination address modulo. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Use constants from group "Circular buffer size constants" for * processing return value. The value is cast to "uint8". * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint8 result = * DMA_PDD_GetDestinationAddressModulo(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetDestinationAddressModulo(PeripheralBase, Channel) ( \ (uint8)(( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_DMOD_MASK)) >> ( \ DMA_DCR_DMOD_SHIFT)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel destination address modulo. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 5-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint8 result = * DMA_PDD_GetDestinationAddressModulo(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetDestinationAddressModulo(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(DMA_ATTR_REG(PeripheralBase,(Channel)) & DMA_ATTR_DMOD_MASK)) >> ( \ DMA_ATTR_DMOD_SHIFT)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- SetDestinationDataTransferSize ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Sets DMA channel destination data tranfer size. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Size DMA channel destination data tranfer block size. This parameter * is of "DMA data transfer block size." type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetDestinationDataTransferSize(_BASE_PTR, * DMA_PDD_CHANNEL_0, DMA_PDD_8_BIT); * @endcode */ #define DMA_PDD_SetDestinationDataTransferSize(PeripheralBase, Channel, Size) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_DSIZE_MASK)))) | ( \ (uint32)((uint32)(Size) << DMA_DCR_DSIZE_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel destination data tranfer size. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Size DMA channel destination data tranfer block size. This parameter * is of "DMA data transfer block size." type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_SetDestinationDataTransferSize(_BASE_PTR, periphID, * DMA_PDD_8_BIT); * @endcode */ #define DMA_PDD_SetDestinationDataTransferSize(PeripheralBase, Channel, Size) ( \ DMA_ATTR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_ATTR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_ATTR_DSIZE_MASK)))) | ( \ (uint16)(Size))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetDestinationDataTransferSize ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns DMA channel destination data tranfer size. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint8 result = * DMA_PDD_GetDestinationDataTransferSize(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetDestinationDataTransferSize(PeripheralBase, Channel) ( \ (uint8)(( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_DSIZE_MASK)) >> ( \ DMA_DCR_DSIZE_SHIFT)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel destination data tranfer size. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 3-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: ATTR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint8 result = * DMA_PDD_GetDestinationDataTransferSize(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetDestinationDataTransferSize(PeripheralBase, Channel) ( \ (uint8)(DMA_ATTR_REG(PeripheralBase,(Channel)) & DMA_ATTR_DSIZE_MASK) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteMinorLoopReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA channel minor loop register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel minor loop register value. This parameter is a * 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: NBYTES_MLNO[Channel]. * @par Example: * @code * DMA_PDD_WriteMinorLoopReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_WriteMinorLoopReg(PeripheralBase, Channel, Value) ( \ DMA_NBYTES_MLNO_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadMinorLoopReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel minor loop register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: NBYTES_MLNO[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_ReadMinorLoopReg(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_ReadMinorLoopReg(PeripheralBase, Channel) ( \ DMA_NBYTES_MLNO_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetByteCount32 ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel minor byte transfer count. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value 32-bit DMA channel byte count. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: NBYTES_MLNO[Channel]. * @par Example: * @code * DMA_PDD_SetByteCount32(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetByteCount32(PeripheralBase, Channel, Value) ( \ DMA_NBYTES_MLNO_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- GetByteCount32 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel minor byte transfer count. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: NBYTES_MLNO[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetByteCount32(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetByteCount32(PeripheralBase, Channel) ( \ DMA_NBYTES_MLNO_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetByteCount30 ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel minor byte transfer count. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value 30-bit DMA channel byte count. This parameter is a 30-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: NBYTES_MLOFFNO[Channel]. * @par Example: * @code * DMA_PDD_SetByteCount30(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetByteCount30(PeripheralBase, Channel, Value) ( \ DMA_NBYTES_MLOFFNO_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_NBYTES_MLOFFNO_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_NBYTES_MLOFFNO_NBYTES_MASK)))) | ( \ (uint32)(Value))) \ ) /* ---------------------------------------------------------------------------- -- GetByteCount30 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel minor byte transfer count. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 30-bit value. The value is cast to "uint32". * @remarks The macro accesses the following registers: NBYTES_MLOFFNO[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetByteCount30(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetByteCount30(PeripheralBase, Channel) ( \ (uint32)(( \ DMA_NBYTES_MLOFFNO_REG(PeripheralBase,(Channel))) & ( \ DMA_NBYTES_MLOFFNO_NBYTES_MASK)) \ ) /* ---------------------------------------------------------------------------- -- SetByteCount10 ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel minor byte transfer count. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value 10-bit DMA channel byte count. This parameter is a 10-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel]. * @par Example: * @code * DMA_PDD_SetByteCount10(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetByteCount10(PeripheralBase, Channel, Value) ( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_NBYTES_MLOFFYES_NBYTES_MASK)))) | ( \ (uint32)(Value))) \ ) /* ---------------------------------------------------------------------------- -- GetByteCount10 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel minor byte transfer count. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetByteCount10(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetByteCount10(PeripheralBase, Channel) ( \ (uint32)(( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \ DMA_NBYTES_MLOFFYES_NBYTES_MASK)) \ ) /* ---------------------------------------------------------------------------- -- EnableSourceMinorLoopOffset ---------------------------------------------------------------------------- */ /** * @brief Enables or disables DMA channel source minor loop offset. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel source minor loop offset * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel]. * @par Example: * @code * DMA_PDD_EnableSourceMinorLoopOffset(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableSourceMinorLoopOffset(PeripheralBase, Channel, State) ( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_NBYTES_MLOFFYES_SMLOE_MASK)))) | ( \ (uint32)((uint32)(State) << DMA_NBYTES_MLOFFYES_SMLOE_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- EnableDestinationMinorLoopOffset ---------------------------------------------------------------------------- */ /** * @brief Enables or disables DMA channel destination minor loop offset. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel source minor loop offset * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel]. * @par Example: * @code * DMA_PDD_EnableDestinationMinorLoopOffset(_BASE_PTR, * periphID, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableDestinationMinorLoopOffset(PeripheralBase, Channel, State) ( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_NBYTES_MLOFFYES_DMLOE_MASK)))) | ( \ (uint32)((uint32)(State) << DMA_NBYTES_MLOFFYES_DMLOE_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetMinorLoopOffsetEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns source and destination minor loop offset enable bits state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_GetMinorLoopOffsetEnabled(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetMinorLoopOffsetEnabled(PeripheralBase, Channel) ( \ (uint32)(( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \ (uint32)(DMA_NBYTES_MLOFFYES_SMLOE_MASK | DMA_NBYTES_MLOFFYES_DMLOE_MASK))) \ ) /* ---------------------------------------------------------------------------- -- SetMinorLoopOffset ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel minor loop offset. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param AddressOffset Address offset added to source and/or destination * address. This parameter is a 20-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel]. * @par Example: * @code * DMA_PDD_SetMinorLoopOffset(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetMinorLoopOffset(PeripheralBase, Channel, AddressOffset) ( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_NBYTES_MLOFFYES_MLOFF_MASK)))) | ( \ (uint32)((uint32)(AddressOffset) << DMA_NBYTES_MLOFFYES_MLOFF_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetMinorLoopOffset ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel minor loop offset. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 20-bit value. The value is cast to "uint32". * @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetMinorLoopOffset(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetMinorLoopOffset(PeripheralBase, Channel) ( \ (uint32)(( \ (uint32)(( \ DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \ DMA_NBYTES_MLOFFYES_MLOFF_MASK))) >> ( \ DMA_NBYTES_MLOFFYES_MLOFF_SHIFT)) \ ) /* ---------------------------------------------------------------------------- -- WriteCurrentMajorLoopCountReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA channel current minor loop link major loop count * register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel minor loop link major loop count register value. * This parameter is a 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKNO[Channel]. * @par Example: * @code * DMA_PDD_WriteCurrentMajorLoopCountReg(_BASE_PTR, periphID, * 1); * @endcode */ #define DMA_PDD_WriteCurrentMajorLoopCountReg(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) = \ (uint16)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadCurrentMajorLoopCountReg ---------------------------------------------------------------------------- */ /** * @brief Reads DMA channel current minor loop link major loop count register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel minor loop link major loop count register value. * This parameter is a 16-bit value. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CITER_ELINKNO[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_ReadCurrentMajorLoopCountReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_ReadCurrentMajorLoopCountReg(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- EnableCurrentMinorLoopLinking ---------------------------------------------------------------------------- */ /** * @brief Enables or disables DMA channel current minor loop linking. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel linking will be enabled or * disabled. This parameter is of "Global enumeration used for specifying * general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in * PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKNO[Channel]. * @par Example: * @code * DMA_PDD_EnableCurrentMinorLoopLinking(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableCurrentMinorLoopLinking(PeripheralBase, Channel, State) ( \ DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CITER_ELINKNO_ELINK_MASK)))) | ( \ (uint16)((uint16)(State) << DMA_CITER_ELINKNO_ELINK_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetCurrentMinorLoopLinkingEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns current minor loop linking state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CITER_ELINKNO[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetCurrentMinorLoopLinkingEnabled(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetCurrentMinorLoopLinkingEnabled(PeripheralBase, Channel) ( \ (uint16)(DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) & DMA_CITER_ELINKNO_ELINK_MASK) \ ) /* ---------------------------------------------------------------------------- -- SetCurrentMajorLoopCount15 ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel current major loop count when channel linking is * disabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value 15-bit DMA channel major loop count. This parameter is a 15-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKNO[Channel]. * @par Example: * @code * DMA_PDD_SetCurrentMajorLoopCount15(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetCurrentMajorLoopCount15(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CITER_ELINKNO_CITER_MASK)))) | ( \ (uint16)(Value))) \ ) /* ---------------------------------------------------------------------------- -- SetCurrentMajorLoopCount9 ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Sets DMA channel current major loop count when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel 9-bit DMA channel number. This parameter is of index type. * @param Value DMA channel major loop count. This parameter is a 9-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetCurrentMajorLoopCount9(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetCurrentMajorLoopCount9(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CITER_ELINKYES_CITER_MASK)) & ( \ (uint16)(~(uint16)0x7800U))))) | ( \ (uint16)(Value))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Sets DMA channel current major loop count when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel 9-bit DMA channel number. This parameter is of index type. * @param Value DMA channel major loop count. This parameter is a 9-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetCurrentMajorLoopCount9(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetCurrentMajorLoopCount9(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CITER_ELINKYES_CITER_MASK)) & ( \ (uint16)(~(uint16)0x4000U))))) | ( \ (uint16)(Value))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel current major loop count when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel 9-bit DMA channel number. This parameter is of index type. * @param Value DMA channel major loop count. This parameter is a 9-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetCurrentMajorLoopCount9(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetCurrentMajorLoopCount9(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CITER_ELINKYES_CITER_MASK)))) | ( \ (uint16)(Value))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetCurrentMajorLoopCount15 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel current major loop count when channel linking is * disabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 15-bit value. The value is cast to "uint16". * @remarks The macro accesses the following registers: CITER_ELINKNO[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetCurrentMajorLoopCount15(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetCurrentMajorLoopCount15(PeripheralBase, Channel) ( \ (uint16)(DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) & DMA_CITER_ELINKNO_CITER_MASK) \ ) /* ---------------------------------------------------------------------------- -- GetCurrentMajorLoopCount9 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel current major loop count when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel 9-bit DMA channel number. This parameter is of index type. * @return Returns a 9-bit value. The value is cast to "uint16". * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetCurrentMajorLoopCount9(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetCurrentMajorLoopCount9(PeripheralBase, Channel) ( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ DMA_CITER_ELINKYES_CITER_MASK)) \ ) /* ---------------------------------------------------------------------------- -- SetCurrentMinorLinkChannel ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Sets DMA channel current link number when channel linking is enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetCurrentMinorLinkChannel(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetCurrentMinorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CITER_ELINKYES_LINKCH_MASK)) & ( \ (uint16)(~(uint16)0x7800U))))) | ( \ (uint16)((uint16)(Value) << DMA_CITER_ELINKYES_LINKCH_SHIFT))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Sets DMA channel current link number when channel linking is enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetCurrentMinorLinkChannel(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetCurrentMinorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CITER_ELINKYES_LINKCH_MASK)) & ( \ (uint16)(~(uint16)0x4000U))))) | ( \ (uint16)((uint16)(Value) << DMA_CITER_ELINKYES_LINKCH_SHIFT))) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Sets DMA channel current link number when channel linking is enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetCurrentMinorLinkChannel(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetCurrentMinorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CITER_ELINKYES_LINKCH_MASK)))) | ( \ (uint16)((uint16)(Value) << DMA_CITER_ELINKYES_LINKCH_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel current link number when channel linking is enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetCurrentMinorLinkChannel(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetCurrentMinorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CITER_ELINKYES_LINKCH_MASK)))) | ( \ (uint16)((uint16)(Value) << DMA_CITER_ELINKYES_LINKCH_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetCurrentMinorLinkChannel ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Returns DMA channel current link number when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * uint8 result = * DMA_PDD_GetCurrentMinorLinkChannel(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetCurrentMinorLinkChannel(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ DMA_CITER_ELINKYES_LINKCH_MASK))) >> ( \ DMA_CITER_ELINKYES_LINKCH_SHIFT)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Returns DMA channel current link number when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 5-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * uint8 result = * DMA_PDD_GetCurrentMinorLinkChannel(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetCurrentMinorLinkChannel(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ DMA_CITER_ELINKYES_LINKCH_MASK))) >> ( \ DMA_CITER_ELINKYES_LINKCH_SHIFT)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel current link number when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 4-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: CITER_ELINKYES[Channel]. * @par Example: * @code * uint8 result = * DMA_PDD_GetCurrentMinorLinkChannel(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetCurrentMinorLinkChannel(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(( \ DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ DMA_CITER_ELINKYES_LINKCH_MASK))) >> ( \ DMA_CITER_ELINKYES_LINKCH_SHIFT)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteBeginningMajorLoopCountReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA channel beginning minor loop link major loop count * register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel minor loop link major loop count register value. * This parameter is a 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKNO[Channel]. * @par Example: * @code * DMA_PDD_WriteBeginningMajorLoopCountReg(_BASE_PTR, * periphID, 1); * @endcode */ #define DMA_PDD_WriteBeginningMajorLoopCountReg(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) = \ (uint16)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadBeginningMajorLoopCountReg ---------------------------------------------------------------------------- */ /** * @brief Reads DMA channel beginning minor loop link major loop count register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel minor loop link major loop count register value. * This parameter is a 16-bit value. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: BITER_ELINKNO[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_ReadBeginningMajorLoopCountReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_ReadBeginningMajorLoopCountReg(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- EnableBeginningMinorLoopLinking ---------------------------------------------------------------------------- */ /** * @brief Enables or disables DMA channel beginning minor loop linking. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel linking will be enabled or * disabled. This parameter is of "Global enumeration used for specifying * general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in * PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKNO[Channel]. * @par Example: * @code * DMA_PDD_EnableBeginningMinorLoopLinking(_BASE_PTR, * periphID, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableBeginningMinorLoopLinking(PeripheralBase, Channel, State) ( \ DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_BITER_ELINKNO_ELINK_MASK)))) | ( \ (uint16)((uint16)(State) << DMA_BITER_ELINKNO_ELINK_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetBeginningMinorLoopLinkingEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns beginning minor loop linking state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: BITER_ELINKNO[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetBeginningMinorLoopLinkingEnabled(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetBeginningMinorLoopLinkingEnabled(PeripheralBase, Channel) ( \ (uint16)(DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) & DMA_BITER_ELINKNO_ELINK_MASK) \ ) /* ---------------------------------------------------------------------------- -- SetBeginningMajorLoopCount15 ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel major beginning loop count when channel linking is * disabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value 15-bit DMA channel major loop count. This parameter is a 15-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKNO[Channel]. * @par Example: * @code * DMA_PDD_SetBeginningMajorLoopCount15(_BASE_PTR, periphID, * 1); * @endcode */ #define DMA_PDD_SetBeginningMajorLoopCount15(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_BITER_ELINKNO_BITER_MASK)))) | ( \ (uint16)(Value))) \ ) /* ---------------------------------------------------------------------------- -- GetBeginningMajorLoopCount15 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel major beginning loop count when channel linking is * disabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 15-bit value. The value is cast to "uint16". * @remarks The macro accesses the following registers: BITER_ELINKNO[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetBeginningMajorLoopCount15(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetBeginningMajorLoopCount15(PeripheralBase, Channel) ( \ (uint16)(DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) & DMA_BITER_ELINKNO_BITER_MASK) \ ) /* ---------------------------------------------------------------------------- -- SetBeginningMajorLoopCount9 ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Sets DMA channel beginning major loop count when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value 9-bit DMA channel major loop count. This parameter is a 9-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetBeginningMajorLoopCount9(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetBeginningMajorLoopCount9(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_BITER_ELINKYES_BITER_MASK)) & ( \ (uint16)(~(uint16)0x7800U))))) | ( \ (uint16)(Value))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Sets DMA channel beginning major loop count when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value 9-bit DMA channel major loop count. This parameter is a 9-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetBeginningMajorLoopCount9(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetBeginningMajorLoopCount9(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_BITER_ELINKYES_BITER_MASK)) & ( \ (uint16)(~(uint16)0x4000U))))) | ( \ (uint16)(Value))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel beginning major loop count when channel linking is * enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value 9-bit DMA channel major loop count. This parameter is a 9-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetBeginningMajorLoopCount9(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetBeginningMajorLoopCount9(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_BITER_ELINKYES_BITER_MASK)))) | ( \ (uint16)(Value))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetBeginningMajorLoopCount9 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel major beginning loop count when channel linking is * disabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 9-bit value. The value is cast to "uint16". * @remarks The macro accesses the following registers: BITER_ELINKYES[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetBeginningMajorLoopCount9(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetBeginningMajorLoopCount9(PeripheralBase, Channel) ( \ (uint16)(( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ DMA_BITER_ELINKYES_BITER_MASK)) \ ) /* ---------------------------------------------------------------------------- -- SetBeginningMinorLinkChannel ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Sets DMA channel beginning link number when channel linking is enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetBeginningMinorLinkChannel(_BASE_PTR, periphID, * 1); * @endcode */ #define DMA_PDD_SetBeginningMinorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_BITER_ELINKYES_LINKCH_MASK)) & ( \ (uint16)(~(uint16)0x7800U))))) | ( \ (uint16)((uint16)(Value) << DMA_BITER_ELINKYES_LINKCH_SHIFT))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Sets DMA channel beginning link number when channel linking is enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetBeginningMinorLinkChannel(_BASE_PTR, periphID, * 1); * @endcode */ #define DMA_PDD_SetBeginningMinorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_BITER_ELINKYES_LINKCH_MASK)) & ( \ (uint16)(~(uint16)0x4000U))))) | ( \ (uint16)((uint16)(Value) << DMA_BITER_ELINKYES_LINKCH_SHIFT))) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Sets DMA channel beginning link number when channel linking is enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetBeginningMinorLinkChannel(_BASE_PTR, periphID, * 1); * @endcode */ #define DMA_PDD_SetBeginningMinorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_BITER_ELINKYES_LINKCH_MASK)))) | ( \ (uint16)((uint16)(Value) << DMA_BITER_ELINKYES_LINKCH_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel beginning link number when channel linking is enabled. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: BITER_ELINKYES[Channel]. * @par Example: * @code * DMA_PDD_SetBeginningMinorLinkChannel(_BASE_PTR, periphID, * 1); * @endcode */ #define DMA_PDD_SetBeginningMinorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_BITER_ELINKYES_LINKCH_MASK)))) | ( \ (uint16)((uint16)(Value) << DMA_BITER_ELINKYES_LINKCH_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- WriteLastSourceAddressAdjustmentReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA TCD last source address adjustment register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: SLAST[Channel]. * @par Example: * @code * DMA_PDD_WriteLastSourceAddressAdjustmentReg(_BASE_PTR, * periphID, 1); * @endcode */ #define DMA_PDD_WriteLastSourceAddressAdjustmentReg(PeripheralBase, Channel, Value) ( \ DMA_SLAST_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadLastSourceAddressAdjustmentReg ---------------------------------------------------------------------------- */ /** * @brief Reads DMA TCD last source address adjustment register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: SLAST[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_ReadLastSourceAddressAdjustmentReg(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_ReadLastSourceAddressAdjustmentReg(PeripheralBase, Channel) ( \ DMA_SLAST_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetLastSourceAddressAdjustment ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel last source address adjustment. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel last source address adjustment. This parameter is a * 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: SLAST[Channel]. * @par Example: * @code * DMA_PDD_SetLastSourceAddressAdjustment(_BASE_PTR, periphID, * 1); * @endcode */ #define DMA_PDD_SetLastSourceAddressAdjustment(PeripheralBase, Channel, Value) ( \ DMA_SLAST_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- GetLastSourceAddressAdjustment ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel last source address adjustment. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: SLAST[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_GetLastSourceAddressAdjustment(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetLastSourceAddressAdjustment(PeripheralBase, Channel) ( \ DMA_SLAST_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- WriteLastDestinationAddressAdjustmentReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA TCD last destination address adjustment register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DLAST_SGA[Channel]. * @par Example: * @code * DMA_PDD_WriteLastDestinationAddressAdjustmentReg(_BASE_PTR, * periphID, 1); * @endcode */ #define DMA_PDD_WriteLastDestinationAddressAdjustmentReg(PeripheralBase, Channel, Value) ( \ DMA_DLAST_SGA_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadLastDestinationAddressAdjustmentReg ---------------------------------------------------------------------------- */ /** * @brief Reads DMA TCD last destination address adjustment register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DLAST_SGA[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_ReadLastDestinationAddressAdjustmentReg(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_ReadLastDestinationAddressAdjustmentReg(PeripheralBase, Channel) ( \ DMA_DLAST_SGA_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetLastDestinationAddressAdjustment_ScatterGather ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel last destination address adjustment or address for * next TCD to be loaded into this channel. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel last destination address adjustment or TCD address. * This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DLAST_SGA[Channel]. * @par Example: * @code * DMA_PDD_SetLastDestinationAddressAdjustment_ScatterGather(_BASE_PTR, * periphID, 1); * @endcode */ #define DMA_PDD_SetLastDestinationAddressAdjustment_ScatterGather(PeripheralBase, Channel, Value) ( \ DMA_DLAST_SGA_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- GetLastDestinationAddressAdjustment_ScatterGather ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel last destination address adjustment. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DLAST_SGA[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_GetLastDestinationAddressAdjustment_ScatterGather(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetLastDestinationAddressAdjustment_ScatterGather(PeripheralBase, Channel) ( \ DMA_DLAST_SGA_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- WriteControlStatusReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA channel control status register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value Channel control status register value. This parameter is a * 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_WriteControlStatusReg(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_WriteControlStatusReg(PeripheralBase, Channel, Value) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadControlStatusReg ---------------------------------------------------------------------------- */ /** * @brief Reads DMA channel control status register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint16 result = DMA_PDD_ReadControlStatusReg(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_ReadControlStatusReg(PeripheralBase, Channel) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- SetStallTime ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Bandwidth control - forces DMA to stall after each r/w operation for * selected period of time. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param StallTime Selects one of stall time values. This parameter is of "DMA * stall time value." type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_SetStallTime(_BASE_PTR, periphID, DMA_PDD_NO_STALL); * @endcode */ #define DMA_PDD_SetStallTime(PeripheralBase, Channel, StallTime) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_BWC_MASK)) & ( \ (uint16)(~(uint16)0x3C00U))))) | ( \ (uint16)(StallTime))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Bandwidth control - forces DMA to stall after each r/w operation for * selected period of time. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param StallTime Selects one of stall time values. This parameter is of "DMA * stall time value." type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_SetStallTime(_BASE_PTR, periphID, DMA_PDD_NO_STALL); * @endcode */ #define DMA_PDD_SetStallTime(PeripheralBase, Channel, StallTime) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_BWC_MASK)) & ( \ (uint16)(~(uint16)0x2000U))))) | ( \ (uint16)(StallTime))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Bandwidth control - forces DMA to stall after each r/w operation for * selected period of time. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param StallTime Selects one of stall time values. This parameter is of "DMA * stall time value." type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_SetStallTime(_BASE_PTR, periphID, DMA_PDD_NO_STALL); * @endcode */ #define DMA_PDD_SetStallTime(PeripheralBase, Channel, StallTime) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CSR_BWC_MASK)))) | ( \ (uint16)(StallTime))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetStallTime ---------------------------------------------------------------------------- */ /** * @brief Returns bandwidth control stall time value. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint8 result = DMA_PDD_GetStallTime(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetStallTime(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_BWC_MASK)) >> ( \ DMA_CSR_BWC_SHIFT)) \ ) /* ---------------------------------------------------------------------------- -- SetMajorLinkChannel ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Sets DMA channel major link number. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_SetMajorLinkChannel(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetMajorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_MAJORLINKCH_MASK)) & ( \ (uint16)(~(uint16)0x3C00U))))) | ( \ (uint16)((uint16)(Value) << DMA_CSR_MAJORLINKCH_SHIFT))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Sets DMA channel major link number. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_SetMajorLinkChannel(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetMajorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_MAJORLINKCH_MASK)) & ( \ (uint16)(~(uint16)0x2000U))))) | ( \ (uint16)((uint16)(Value) << DMA_CSR_MAJORLINKCH_SHIFT))) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Sets DMA channel major link number. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 5-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_SetMajorLinkChannel(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetMajorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CSR_MAJORLINKCH_MASK)))) | ( \ (uint16)((uint16)(Value) << DMA_CSR_MAJORLINKCH_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Sets DMA channel major link number. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param Value DMA channel number. This parameter is a 4-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_SetMajorLinkChannel(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_SetMajorLinkChannel(PeripheralBase, Channel, Value) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CSR_MAJORLINKCH_MASK)))) | ( \ (uint16)((uint16)(Value) << DMA_CSR_MAJORLINKCH_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetMajorLinkChannel ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Returns DMA channel major link number. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint8 result = DMA_PDD_GetMajorLinkChannel(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetMajorLinkChannel(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_MAJORLINKCH_MASK)) >> ( \ DMA_CSR_MAJORLINKCH_SHIFT)) \ ) #elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS))) /** * @brief Returns DMA channel major link number. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 5-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint8 result = DMA_PDD_GetMajorLinkChannel(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetMajorLinkChannel(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_MAJORLINKCH_MASK)) >> ( \ DMA_CSR_MAJORLINKCH_SHIFT)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns DMA channel major link number. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 4-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint8 result = DMA_PDD_GetMajorLinkChannel(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetMajorLinkChannel(PeripheralBase, Channel) ( \ (uint8)(( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_MAJORLINKCH_MASK)) >> ( \ DMA_CSR_MAJORLINKCH_SHIFT)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetChannelActivityFlags ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns DMA channel request pending, busy and done status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Use constants from group "Channel activity status constants" for * processing return value. * @remarks The macro accesses the following registers: CSR[Channel], * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = * DMA_PDD_GetChannelActivityFlags(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetChannelActivityFlags(PeripheralBase, Channel) ( \ (uint32)(( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(DMA_DSR_BCR_REQ_MASK | (DMA_DSR_BCR_BSY_MASK | DMA_DSR_BCR_DONE_MASK)))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns channel done and channel active status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel], * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * uint16 result = * DMA_PDD_GetChannelActivityFlags(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetChannelActivityFlags(PeripheralBase, Channel) ( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(DMA_CSR_DONE_MASK | DMA_CSR_ACTIVE_MASK))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- ClearChannelActivityFlags ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Clears channel activity status flags. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param ChannelActivityFlags DMA channel activity status flags. This parameter * is a 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_ClearChannelActivityFlags(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_ClearChannelActivityFlags(PeripheralBase, Channel, ChannelActivityFlags) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) &= \ (uint16)((uint16)(~(uint16)(ChannelActivityFlags)) & (uint16)(~(uint16)0x3C00U)) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Clears channel activity status flags. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param ChannelActivityFlags DMA channel activity status flags. This parameter * is a 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_ClearChannelActivityFlags(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_ClearChannelActivityFlags(PeripheralBase, Channel, ChannelActivityFlags) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) &= \ (uint16)((uint16)(~(uint16)(ChannelActivityFlags)) & (uint16)(~(uint16)0x2000U)) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Clears channel activity status flags. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param ChannelActivityFlags DMA channel activity status flags. This parameter * is a 16-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_ClearChannelActivityFlags(_BASE_PTR, periphID, 1); * @endcode */ #define DMA_PDD_ClearChannelActivityFlags(PeripheralBase, Channel, ChannelActivityFlags) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) &= \ (uint16)(~(uint16)(ChannelActivityFlags)) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetDoneFlag ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns channel done status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: CSR[Channel], * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = DMA_PDD_GetDoneFlag(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetDoneFlag(PeripheralBase, Channel) ( \ (uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_DONE_MASK) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns channel done status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel], * DSR_BCR[Channel] (depending on the peripheral). * @par Example: * @code * uint16 result = DMA_PDD_GetDoneFlag(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetDoneFlag(PeripheralBase, Channel) ( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_DONE_MASK) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetActiveFlag ---------------------------------------------------------------------------- */ /** * @brief Returns channel active status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint16 result = DMA_PDD_GetActiveFlag(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetActiveFlag(PeripheralBase, Channel) ( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_ACTIVE_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableMajorLoopLinking ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Enables or disables DMA channel major loop linking. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel linking will be enabled or * disabled. This parameter is of "Global enumeration used for specifying * general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in * PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableMajorLoopLinking(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableMajorLoopLinking(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_MAJORELINK_MASK)) & ( \ (uint16)(~(uint16)0x3C00U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_MAJORELINK_SHIFT))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Enables or disables DMA channel major loop linking. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel linking will be enabled or * disabled. This parameter is of "Global enumeration used for specifying * general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in * PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableMajorLoopLinking(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableMajorLoopLinking(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_MAJORELINK_MASK)) & ( \ (uint16)(~(uint16)0x2000U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_MAJORELINK_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Enables or disables DMA channel major loop linking. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel linking will be enabled or * disabled. This parameter is of "Global enumeration used for specifying * general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in * PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableMajorLoopLinking(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableMajorLoopLinking(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CSR_MAJORELINK_MASK)))) | ( \ (uint16)((uint16)(State) << DMA_CSR_MAJORELINK_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetMajorLoopLinkingEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns major loop linking state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetMajorLoopLinkingEnabled(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetMajorLoopLinkingEnabled(PeripheralBase, Channel) ( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_MAJORELINK_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableScatterGather ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Enables or disables DMA channel scatter/gather processing. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel scatter/gather processing * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableScatterGather(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableScatterGather(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_ESG_MASK)) & ( \ (uint16)(~(uint16)0x3C00U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_ESG_SHIFT))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Enables or disables DMA channel scatter/gather processing. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel scatter/gather processing * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableScatterGather(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableScatterGather(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_ESG_MASK)) & ( \ (uint16)(~(uint16)0x2000U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_ESG_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Enables or disables DMA channel scatter/gather processing. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel scatter/gather processing * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableScatterGather(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableScatterGather(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CSR_ESG_MASK)))) | ( \ (uint16)((uint16)(State) << DMA_CSR_ESG_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetScatterGatherEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns scatter/gather processing state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetScatterGatherEnabled(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetScatterGatherEnabled(PeripheralBase, Channel) ( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_ESG_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableRequestAutoDisable ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Enables or disables DMA channel automaticall request clearing. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel automaticall request * clearing will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnableRequestAutoDisable(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableRequestAutoDisable(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_DREQ_MASK)) & ( \ (uint16)(~(uint16)0x3C00U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_DREQ_SHIFT))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Enables or disables DMA channel automaticall request clearing. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel automaticall request * clearing will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnableRequestAutoDisable(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableRequestAutoDisable(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_DREQ_MASK)) & ( \ (uint16)(~(uint16)0x2000U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_DREQ_SHIFT))) \ ) #elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Enables or disables DMA channel automaticall request clearing. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel automaticall request * clearing will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnableRequestAutoDisable(_BASE_PTR, * DMA_PDD_CHANNEL_0, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableRequestAutoDisable(PeripheralBase, Channel, State) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_D_REQ_MASK)))) | ( \ (uint32)((uint32)(State) << DMA_DCR_D_REQ_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Enables or disables DMA channel automaticall request clearing. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel automaticall request * clearing will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnableRequestAutoDisable(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableRequestAutoDisable(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CSR_DREQ_MASK)))) | ( \ (uint16)((uint16)(State) << DMA_CSR_DREQ_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetRequestAutoDisableEnabled ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns automaticall request clearing state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = * DMA_PDD_GetRequestAutoDisableEnabled(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetRequestAutoDisableEnabled(PeripheralBase, Channel) ( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_D_REQ_MASK) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns automaticall request clearing state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint16 result = * DMA_PDD_GetRequestAutoDisableEnabled(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetRequestAutoDisableEnabled(PeripheralBase, Channel) ( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_DREQ_MASK) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- EnableTransferCompleteInterrupt ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Enables or disables channel transfer complete interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel transfer complete interrupt * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnableTransferCompleteInterrupt(_BASE_PTR, * periphID, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableTransferCompleteInterrupt(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_INTMAJOR_MASK)) & ( \ (uint16)(~(uint16)0x3C00U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_INTMAJOR_SHIFT))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Enables or disables channel transfer complete interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel transfer complete interrupt * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnableTransferCompleteInterrupt(_BASE_PTR, * periphID, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableTransferCompleteInterrupt(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_INTMAJOR_MASK)) & ( \ (uint16)(~(uint16)0x2000U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_INTMAJOR_SHIFT))) \ ) #elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Enables or disables channel transfer complete interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel transfer complete interrupt * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnableTransferCompleteInterrupt(_BASE_PTR, * DMA_PDD_CHANNEL_0, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableTransferCompleteInterrupt(PeripheralBase, Channel, State) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_EINT_MASK)))) | ( \ (uint32)((uint32)(State) << DMA_DCR_EINT_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Enables or disables channel transfer complete interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel transfer complete interrupt * will be enabled or disabled. This parameter is of "Global enumeration * used for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * DMA_PDD_EnableTransferCompleteInterrupt(_BASE_PTR, * periphID, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableTransferCompleteInterrupt(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CSR_INTMAJOR_MASK)))) | ( \ (uint16)((uint16)(State) << DMA_CSR_INTMAJOR_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetTransferCompleteInterruptEnabled ---------------------------------------------------------------------------- */ #if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4))) /** * @brief Returns transfer complete enable interrupt state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint32 result = * DMA_PDD_GetTransferCompleteInterruptEnabled(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetTransferCompleteInterruptEnabled(PeripheralBase, Channel) ( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_EINT_MASK) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Returns transfer complete enable interrupt state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel], * DCR[Channel] (depending on the peripheral). * @par Example: * @code * uint16 result = * DMA_PDD_GetTransferCompleteInterruptEnabled(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetTransferCompleteInterruptEnabled(PeripheralBase, Channel) ( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_INTMAJOR_MASK) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- EnableTransferHalfInterrupt ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810))) /** * @brief Enables or disables channel transfer half interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel transfer half interrupt will * be enabled or disabled. This parameter is of "Global enumeration used * for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableTransferHalfInterrupt(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableTransferHalfInterrupt(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_INTHALF_MASK)) & ( \ (uint16)(~(uint16)0x3C00U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_INTHALF_SHIFT))) \ ) #elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Enables or disables channel transfer half interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel transfer half interrupt will * be enabled or disabled. This parameter is of "Global enumeration used * for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableTransferHalfInterrupt(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableTransferHalfInterrupt(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & (( \ (uint16)(~(uint16)DMA_CSR_INTHALF_MASK)) & ( \ (uint16)(~(uint16)0x2000U))))) | ( \ (uint16)((uint16)(State) << DMA_CSR_INTHALF_SHIFT))) \ ) #else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /** * @brief Enables or disables channel transfer half interrupt. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @param State Parameter specifying if DMA channel transfer half interrupt will * be enabled or disabled. This parameter is of "Global enumeration used * for specifying general enable/disable states (PDD_DISABLE and * PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * DMA_PDD_EnableTransferHalfInterrupt(_BASE_PTR, periphID, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableTransferHalfInterrupt(PeripheralBase, Channel, State) ( \ DMA_CSR_REG(PeripheralBase,(Channel)) = \ (uint16)(( \ (uint16)(( \ DMA_CSR_REG(PeripheralBase,(Channel))) & ( \ (uint16)(~(uint16)DMA_CSR_INTHALF_MASK)))) | ( \ (uint16)((uint16)(State) << DMA_CSR_INTHALF_SHIFT))) \ ) #endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */ /* ---------------------------------------------------------------------------- -- GetTransferHalfInterruptEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns transfer half enable interrupt state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. This parameter is of index type. * @return Returns a 16-bit value. * @remarks The macro accesses the following registers: CSR[Channel]. * @par Example: * @code * uint16 result = * DMA_PDD_GetTransferHalfInterruptEnabled(_BASE_PTR, periphID); * @endcode */ #define DMA_PDD_GetTransferHalfInterruptEnabled(PeripheralBase, Channel) ( \ (uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_INTHALF_MASK) \ ) /* ---------------------------------------------------------------------------- -- SetChannelGroup1Priority ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Sets group 1 priority level. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Priority Parameter specifying group priority 1 level when fixed * priority group arbitration is enabled. This parameter is a 1-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_SetChannelGroup1Priority(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_SetChannelGroup1Priority(PeripheralBase, Priority) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_GRP1PRI_MASK))) | ( \ (uint32)((uint32)(Priority) << DMA_CR_GRP1PRI_SHIFT))) \ ) #else /* (defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) */ /** * @brief Sets group 1 priority level. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Priority Parameter specifying group priority 1 level when fixed * priority group arbitration is enabled. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_SetChannelGroup1Priority(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_SetChannelGroup1Priority(PeripheralBase, Priority) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_GRP1PRI_MASK))) | ( \ (uint32)((uint32)(Priority) << DMA_CR_GRP1PRI_SHIFT))) \ ) #endif /* (defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) */ /* ---------------------------------------------------------------------------- -- SetChannelGroup0Priority ---------------------------------------------------------------------------- */ #if ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18))) /** * @brief Sets group 0 priority level. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Priority Parameter specifying group priority 1 level when fixed * priority group arbitration is enabled. This parameter is a 1-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_SetChannelGroup0Priority(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_SetChannelGroup0Priority(PeripheralBase, Priority) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_GRP0PRI_MASK))) | ( \ (uint32)((uint32)(Priority) << DMA_CR_GRP0PRI_SHIFT))) \ ) #else /* (defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) */ /** * @brief Sets group 0 priority level. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Priority Parameter specifying group priority 1 level when fixed * priority group arbitration is enabled. This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_SetChannelGroup0Priority(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_SetChannelGroup0Priority(PeripheralBase, Priority) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_GRP0PRI_MASK))) | ( \ (uint32)((uint32)(Priority) << DMA_CR_GRP0PRI_SHIFT))) \ ) #endif /* (defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) */ /* ---------------------------------------------------------------------------- -- EnableRoundRobinGroupArbitration ---------------------------------------------------------------------------- */ /** * @brief Enables or disables round robin group arbitration. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param State Parameter specifying if round robin group arbitration is enabled * or disabled. This parameter is of "Global enumeration used for * specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE defined * in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * DMA_PDD_EnableRoundRobinGroupArbitration(_BASE_PTR, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableRoundRobinGroupArbitration(PeripheralBase, State) ( \ DMA_CR_REG(PeripheralBase) = \ (uint32)(( \ (uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_ERGA_MASK))) | ( \ (uint32)((uint32)(State) << DMA_CR_ERGA_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetRoundRobinGroupArbitrationEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns round robin group arbitration state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_CR. * @par Example: * @code * uint32 result = * DMA_PDD_GetRoundRobinGroupArbitrationEnabled(_BASE_PTR); * @endcode */ #define DMA_PDD_GetRoundRobinGroupArbitrationEnabled(PeripheralBase) ( \ (uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_ERGA_MASK) \ ) /* ---------------------------------------------------------------------------- -- GetChannelGroupPriority ---------------------------------------------------------------------------- */ /** * @brief Returns group priority assigned to specified DMA channel. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel index. This parameter is of index type. * @return Returns a 2-bit value. The value is cast to "uint8". * @par Example: * @code * uint8 result = DMA_PDD_GetChannelGroupPriority(_BASE_PTR, * periphID); * @endcode */ #define DMA_PDD_GetChannelGroupPriority(PeripheralBase, Channel) ( \ (uint8)( \ (DMA_PDD_DCHPRI_REG(PeripheralBase, Channel) & DMA_DCHPRI3_GRPPRI_MASK) >> DMA_DCHPRI3_GRPPRI_SHIFT \ ) \ ) /* ---------------------------------------------------------------------------- -- EnableAsyncRequestInStopMask ---------------------------------------------------------------------------- */ /** * @brief Enables DMA channels asynchrounous requests in stop mode specified by * Mask parameter, rest is not changed. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA requests to be enabled. This parameter is a 4-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_EARS. * @par Example: * @code * DMA_PDD_EnableAsyncRequestInStopMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_EnableAsyncRequestInStopMask(PeripheralBase, Mask) ( \ DMA_EARS_REG(PeripheralBase) |= \ (uint32)(Mask) \ ) /* ---------------------------------------------------------------------------- -- DisableAsyncRequestInStopMask ---------------------------------------------------------------------------- */ /** * @brief Disables DMA channels asynchrounous requests in stop mode specified by * Mask parameter, rest is not changed. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA requests to be disabled. This parameter is a 4-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_EARS. * @par Example: * @code * DMA_PDD_DisableAsyncRequestInStopMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_DisableAsyncRequestInStopMask(PeripheralBase, Mask) ( \ DMA_EARS_REG(PeripheralBase) &= \ (uint32)(~(uint32)(Mask)) \ ) /* ---------------------------------------------------------------------------- -- SetAsyncRequestInStopMask ---------------------------------------------------------------------------- */ /** * @brief Sets mask of DMA channels enabled for asynchronous requests. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Mask Mask of DMA requests to be enabled. This parameter is a 4-bit * value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_EARS. * @par Example: * @code * DMA_PDD_SetAsyncRequestInStopMask(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_SetAsyncRequestInStopMask(PeripheralBase, Mask) ( \ DMA_EARS_REG(PeripheralBase) = \ (uint32)(Mask) \ ) /* ---------------------------------------------------------------------------- -- GetAsyncRequestInStopMask ---------------------------------------------------------------------------- */ /** * @brief Returns mask of DMA channels enabled for asynchronous request. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_EARS. * @par Example: * @code * uint32 result = * DMA_PDD_GetAsyncRequestInStopMask(_BASE_PTR); * @endcode */ #define DMA_PDD_GetAsyncRequestInStopMask(PeripheralBase) ( \ DMA_EARS_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- WriteEnableAsyncRequestInStopReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA enable asynchronous request in STOP register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Value Register value. This parameter is a 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DMA_EARS. * @par Example: * @code * DMA_PDD_WriteEnableAsyncRequestInStopReg(_BASE_PTR, 1); * @endcode */ #define DMA_PDD_WriteEnableAsyncRequestInStopReg(PeripheralBase, Value) ( \ DMA_EARS_REG(PeripheralBase) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- ReadEnableAsyncRequestInStopReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA enable asynchronous request in STOP register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DMA_EARS. * @par Example: * @code * uint32 result = * DMA_PDD_ReadEnableAsyncRequestInStopReg(_BASE_PTR); * @endcode */ #define DMA_PDD_ReadEnableAsyncRequestInStopReg(PeripheralBase) ( \ DMA_EARS_REG(PeripheralBase) \ ) /* ---------------------------------------------------------------------------- -- EnableInterrupts; ---------------------------------------------------------------------------- */ /** * @brief Enables interrupts defined by mask parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Mask Mask of interrupts to enable. Use constants from group * "Interrupts' mask". This parameter is 32 bits wide. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_EnableInterrupts(_BASE_PTR, DMA_PDD_CHANNEL_0, * DMA_PDD_TRANSFER_COMPLETE_INTERRUPT); * @endcode */ #define DMA_PDD_EnableInterrupts(PeripheralBase, Channel, Mask) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) |= \ (uint32)(Mask) \ ) /* ---------------------------------------------------------------------------- -- DisableInterrupts ---------------------------------------------------------------------------- */ /** * @brief Disables interrupts defined by mask parameter. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Mask Mask of interrupts to disable. Use constants from group * "Interrupts' mask". This parameter is 32 bits wide. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_DisableInterrupts(_BASE_PTR, DMA_PDD_CHANNEL_0, * DMA_PDD_TRANSFER_COMPLETE_INTERRUPT); * @endcode */ #define DMA_PDD_DisableInterrupts(PeripheralBase, Channel, Mask) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) &= \ (uint32)(~(uint32)(Mask)) \ ) /* ---------------------------------------------------------------------------- -- GetInterruptFlags ---------------------------------------------------------------------------- */ /** * @brief Returns interrupt flag bits. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Use constants from group "Interrupts' flags" for processing return * value. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetInterruptFlags(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetInterruptFlags(PeripheralBase, Channel) ( \ (uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_DONE_MASK) \ ) /* ---------------------------------------------------------------------------- -- WriteStatusByteCountReg ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA channel status and byte count control register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Value DMA channel request control register value. This parameter is a * 32-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * DMA_PDD_WriteStatusByteCountReg(_BASE_PTR, * DMA_PDD_CHANNEL_0, 1); * @endcode */ #define DMA_PDD_WriteStatusByteCountReg(PeripheralBase, Channel, Value) ( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel)) = \ (uint32)(Value) \ ) /* ---------------------------------------------------------------------------- -- WriteStatusByteCountRegister ---------------------------------------------------------------------------- */ /** * @brief Deprecated. Use WriteStatusByteCountReg PDD macro instead. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Value DMA channel request control register value. This parameter is a * 32-bit value. * @return Returns a value of void type. * @par Example: * @code * DMA_PDD_WriteStatusByteCountRegister(_BASE_PTR, * DMA_PDD_CHANNEL_0, 1); * @endcode */ #define DMA_PDD_WriteStatusByteCountRegister(PeripheralBase, Channel, Value) ( \ DMA_PDD_WriteStatusByteCountReg(PeripheralBase, (Channel), (uint32)(Value)) \ ) /* ---------------------------------------------------------------------------- -- ReadStatusByteCountReg ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel status and byte count register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_ReadStatusByteCountReg(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_ReadStatusByteCountReg(PeripheralBase, Channel) ( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- GetStatusByteCountRegister ---------------------------------------------------------------------------- */ /** * @brief Deprecated. Use ReadStatusByteCountReg PDD macro instead. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_GetStatusByteCountRegister(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetStatusByteCountRegister(PeripheralBase, Channel) ( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- WriteStatusRegister ---------------------------------------------------------------------------- */ /** * @brief Writes to DMA channel status register. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Value DMA channel request control register value. This parameter is a * 8-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DSR[Channel]. * @par Example: * @code * DMA_PDD_WriteStatusRegister(_BASE_PTR, DMA_PDD_CHANNEL_0, * 1); * @endcode */ #define DMA_PDD_WriteStatusRegister(PeripheralBase, Channel, Value) ( \ DMA_DSR_REG(PeripheralBase,(Channel)) = \ (uint8)(Value) \ ) /* ---------------------------------------------------------------------------- -- GetStatusRegister ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel status register provading information about last * recorded channel error. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 8-bit value. * @remarks The macro accesses the following registers: DSR[Channel]. * @par Example: * @code * uint8 result = DMA_PDD_GetStatusRegister(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetStatusRegister(PeripheralBase, Channel) ( \ DMA_DSR_REG(PeripheralBase,(Channel)) \ ) /* ---------------------------------------------------------------------------- -- GetBusyFlag ---------------------------------------------------------------------------- */ /** * @brief Returns channel busy status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetBusyFlag(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetBusyFlag(PeripheralBase, Channel) ( \ (uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_BSY_MASK) \ ) /* ---------------------------------------------------------------------------- -- GetRequestPendingFlag ---------------------------------------------------------------------------- */ /** * @brief Returns channel request pending status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetRequestPendingFlag(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetRequestPendingFlag(PeripheralBase, Channel) ( \ (uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_REQ_MASK) \ ) /* ---------------------------------------------------------------------------- -- GetChannelErrorFlags ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel configuration error, bus error on source and bus * error on destination status. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Use constants from group "Channel error status constants" for * processing return value. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetChannelErrorFlags(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetChannelErrorFlags(PeripheralBase, Channel) ( \ (uint32)(( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(DMA_DSR_BCR_CE_MASK | (DMA_DSR_BCR_BES_MASK | DMA_DSR_BCR_BED_MASK)))) \ ) /* ---------------------------------------------------------------------------- -- SetByteCount ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel byte transfer count. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Value 24-bit DMA channel byte count. This parameter is a 24-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * DMA_PDD_SetByteCount(_BASE_PTR, DMA_PDD_CHANNEL_0, 1); * @endcode */ #define DMA_PDD_SetByteCount(PeripheralBase, Channel, Value) ( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DSR_BCR_REG(PeripheralBase,(Channel))) & (( \ (uint32)(~(uint32)DMA_DSR_BCR_BCR_MASK)) & ( \ (uint32)(~(uint32)DMA_DSR_BCR_DONE_MASK))))) | ( \ (uint32)(Value))) \ ) /* ---------------------------------------------------------------------------- -- GetByteCount ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel byte transfer count. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DSR_BCR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetByteCount(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetByteCount(PeripheralBase, Channel) ( \ (uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_BCR_MASK) \ ) /* ---------------------------------------------------------------------------- -- GetPeripheralRequestEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns peripheral requests enable state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_GetPeripheralRequestEnabled(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetPeripheralRequestEnabled(PeripheralBase, Channel) ( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_ERQ_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableCycleSteal ---------------------------------------------------------------------------- */ /** * @brief Enables or disables cycle steal mode (single read/write transfer per * request). * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel cycle-steal mode will be * enabled or disabled. This parameter is of "Global enumeration used for * specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE * defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_EnableCycleSteal(_BASE_PTR, DMA_PDD_CHANNEL_0, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableCycleSteal(PeripheralBase, Channel, State) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & (uint32)(~(uint32)DMA_DCR_CS_MASK))) | ( \ (uint32)((uint32)(State) << DMA_DCR_CS_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetCycleStealEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns cycle steal mode state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetCycleStealEnabled(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetCycleStealEnabled(PeripheralBase, Channel) ( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_CS_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableContinuousMode ---------------------------------------------------------------------------- */ /** * @brief Enables or disables continuous mode (whole transfer per request). * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel continuous mode will be * enabled or disabled. This parameter is of "Global enumeration used for * specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE * defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_EnableContinuousMode(_BASE_PTR, DMA_PDD_CHANNEL_0, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableContinuousMode(PeripheralBase, Channel, State) ( \ ((State) == PDD_DISABLE) ? ( \ DMA_DCR_REG(PeripheralBase,(Channel)) |= \ DMA_DCR_CS_MASK) : ( \ DMA_DCR_REG(PeripheralBase,(Channel)) &= \ (uint32)(~(uint32)DMA_DCR_CS_MASK)) \ ) /* ---------------------------------------------------------------------------- -- GetContinuousModeEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns continuous mode state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a value of "Global enumeration used for specifying general * enable/disable states (PDD_DISABLE and PDD_ENABLE defined in * PDD_Types.h)" type. The value is cast to "uint8". * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint8 result = * DMA_PDD_GetContinuousModeEnabled(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetContinuousModeEnabled(PeripheralBase, Channel) ( \ ((uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_CS_MASK) == 0U) ? ( \ PDD_ENABLE) : ( \ PDD_DISABLE) \ ) /* ---------------------------------------------------------------------------- -- EnableAutoAlign ---------------------------------------------------------------------------- */ /** * @brief Enables or disables auto-align mode. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel transfers will be transfers * are optimized based on the address and size or not. This parameter is * of "Global enumeration used for specifying general enable/disable states * (PDD_DISABLE and PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_EnableAutoAlign(_BASE_PTR, DMA_PDD_CHANNEL_0, * PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableAutoAlign(PeripheralBase, Channel, State) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & (uint32)(~(uint32)DMA_DCR_AA_MASK))) | ( \ (uint32)((uint32)(State) << DMA_DCR_AA_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetAutoAlignEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns auto-align mode state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint32 result = DMA_PDD_GetAutoAlignEnabled(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetAutoAlignEnabled(PeripheralBase, Channel) ( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_AA_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableAsynchronousRequests ---------------------------------------------------------------------------- */ /** * @brief Enables or disables asynchronous requests. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel transfers will be transfers * are optimized based on the address and size or not. This parameter is * of "Global enumeration used for specifying general enable/disable states * (PDD_DISABLE and PDD_ENABLE defined in PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_EnableAsynchronousRequests(_BASE_PTR, * DMA_PDD_CHANNEL_0, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableAsynchronousRequests(PeripheralBase, Channel, State) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_EADREQ_MASK)))) | ( \ (uint32)((uint32)(State) << DMA_DCR_EADREQ_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetAsynchronousRequestsEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns auto-align mode state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_GetAsynchronousRequestsEnabled(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetAsynchronousRequestsEnabled(PeripheralBase, Channel) ( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_EADREQ_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableSourceAddressIncrement ---------------------------------------------------------------------------- */ /** * @brief Enables or disables source address incrementation. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel source address increments * after each successful transfer (according to transfer size) or not. This * parameter is of "Global enumeration used for specifying general * enable/disable states (PDD_DISABLE and PDD_ENABLE defined in PDD_Types.h)" * type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_EnableSourceAddressIncrement(_BASE_PTR, * DMA_PDD_CHANNEL_0, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableSourceAddressIncrement(PeripheralBase, Channel, State) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_SINC_MASK)))) | ( \ (uint32)((uint32)(State) << DMA_DCR_SINC_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetSourceAddressIncrementEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns source address incrementation enable state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_GetSourceAddressIncrementEnabled(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetSourceAddressIncrementEnabled(PeripheralBase, Channel) ( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_SINC_MASK) \ ) /* ---------------------------------------------------------------------------- -- EnableDestinationAddressIncrement ---------------------------------------------------------------------------- */ /** * @brief Enables or disables destination address incrementation. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param State Parameter specifying if DMA channel destination address * increments after each successful transfer (according to transfer size) or not. * This parameter is of "Global enumeration used for specifying general * enable/disable states (PDD_DISABLE and PDD_ENABLE defined in * PDD_Types.h)" type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_EnableDestinationAddressIncrement(_BASE_PTR, * DMA_PDD_CHANNEL_0, PDD_DISABLE); * @endcode */ #define DMA_PDD_EnableDestinationAddressIncrement(PeripheralBase, Channel, State) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_DINC_MASK)))) | ( \ (uint32)((uint32)(State) << DMA_DCR_DINC_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetDestinationAddressIncrementEnabled ---------------------------------------------------------------------------- */ /** * @brief Returns destination address incrementation enable state. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 32-bit value. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint32 result = * DMA_PDD_GetDestinationAddressIncrementEnabled(_BASE_PTR, DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetDestinationAddressIncrementEnabled(PeripheralBase, Channel) ( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_DINC_MASK) \ ) /* ---------------------------------------------------------------------------- -- SetChannelLinkingMode ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel linking mode. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Mode DMA channel linking mode. This parameter is of "DMA data transfer * size." type. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_SetChannelLinkingMode(_BASE_PTR, DMA_PDD_CHANNEL_0, * DMA_PDD_LINKING_DISABLED); * @endcode */ #define DMA_PDD_SetChannelLinkingMode(PeripheralBase, Channel, Mode) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_LINKCC_MASK)))) | ( \ (uint32)(Mode))) \ ) /* ---------------------------------------------------------------------------- -- GetChannelLinkingMode ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel linking mode. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint8 result = DMA_PDD_GetChannelLinkingMode(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetChannelLinkingMode(PeripheralBase, Channel) ( \ (uint8)(( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_LINKCC_MASK)) >> ( \ DMA_DCR_LINKCC_SHIFT)) \ ) /* ---------------------------------------------------------------------------- -- SetLinkChannel1 ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel link 1. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Value Linked DMA channel number. Use constants from group "DMA channel * constants". This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_SetLinkChannel1(_BASE_PTR, DMA_PDD_CHANNEL_0, 1); * @endcode */ #define DMA_PDD_SetLinkChannel1(PeripheralBase, Channel, Value) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_LCH1_MASK)))) | ( \ (uint32)((uint32)(Value) << DMA_DCR_LCH1_SHIFT))) \ ) /* ---------------------------------------------------------------------------- -- GetLinkChannel1 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel link 1 channel number. Use constants from group * "DMA channel constants" for processing return value. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint8 result = DMA_PDD_GetLinkChannel1(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetLinkChannel1(PeripheralBase, Channel) ( \ (uint8)(( \ (uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_LCH1_MASK)) >> ( \ DMA_DCR_LCH1_SHIFT)) \ ) /* ---------------------------------------------------------------------------- -- SetLinkChannel2 ---------------------------------------------------------------------------- */ /** * @brief Sets DMA channel link 2. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @param Value Linked DMA channel number. Use constants from group "DMA channel * constants". This parameter is a 2-bit value. * @return Returns a value of void type. * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * DMA_PDD_SetLinkChannel2(_BASE_PTR, DMA_PDD_CHANNEL_0, 1); * @endcode */ #define DMA_PDD_SetLinkChannel2(PeripheralBase, Channel, Value) ( \ DMA_DCR_REG(PeripheralBase,(Channel)) = \ (uint32)(( \ (uint32)(( \ DMA_DCR_REG(PeripheralBase,(Channel))) & ( \ (uint32)(~(uint32)DMA_DCR_LCH2_MASK)))) | ( \ (uint32)(Value))) \ ) /* ---------------------------------------------------------------------------- -- GetLinkChannel2 ---------------------------------------------------------------------------- */ /** * @brief Returns DMA channel link 2 channel number. Use constants from group * "DMA channel constants" for processing return value. * @param PeripheralBase Pointer to a peripheral registers structure (peripheral * base address). You can use the constant defined in the registers * definition header file (_BASE_PTR) or the constant defined in * the peripheral initialization component header file * (_DEVICE). * @param Channel DMA channel number. Use constants from group "DMA channel * constants". This parameter is 2 bits wide. * @return Returns a 2-bit value. The value is cast to "uint8". * @remarks The macro accesses the following registers: DCR[Channel]. * @par Example: * @code * uint8 result = DMA_PDD_GetLinkChannel2(_BASE_PTR, * DMA_PDD_CHANNEL_0); * @endcode */ #define DMA_PDD_GetLinkChannel2(PeripheralBase, Channel) ( \ (uint8)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_LCH2_MASK) \ ) #endif /* #if defined(DMA_PDD_H_) */ /* DMA_PDD.h, eof. */