From e520cc2d4b856658d338a5fcb8ecd65699b41c38 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Sat, 11 Apr 2015 04:59:40 +0200 Subject: Added F3 DMA definition. --- dma/dma.h | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/dma/dma.h b/dma/dma.h index 30d1346..4d9b8d6 100644 --- a/dma/dma.h +++ b/dma/dma.h @@ -3,6 +3,32 @@ #include +#if defined(STM32F3) +struct DMA_channel_reg_t { + volatile uint32_t CR; + volatile uint32_t NDTR; + volatile uint32_t PAR; + volatile uint32_t MAR; + uint32_t _reserved; +}; + +struct DMA_reg_t { + volatile uint32_t ISR; + volatile uint32_t IFCR; + DMA_channel_reg_t C[7]; +}; + +class DMA_t { + public: + DMA_reg_t& reg; + + DMA_t(uint32_t reg_addr) : reg(*(DMA_reg_t*)reg_addr) {} +}; + +static DMA_t DMA1(0x40020000); +static DMA_t DMA2(0x40020400); + +#elif defined(STM32F4) struct DMA_stream_reg_t { volatile uint32_t CR; volatile uint32_t NDTR; @@ -27,9 +53,6 @@ class DMA_t { DMA_t(uint32_t reg_addr) : reg(*(DMA_reg_t*)reg_addr) {} }; -#if defined(STM32F1) - -#elif defined(STM32F4) static DMA_t DMA1(0x40026000); static DMA_t DMA2(0x40026400); #endif -- cgit v1.2.3