#include <modm/platform/dma/dma_base.hpp>
|
using | IrqHandler = void (*)(void) |
|
|
enum | Channel {
Channel1 = 0,
Channel2,
Channel3,
Channel4,
Channel5,
Channel6,
Channel7
} |
|
enum | Request { Any
} |
|
enum | Priority : uint32_t { Low = 0,
Medium = DMA_CCR_PL_0,
High = DMA_CCR_PL_1,
VeryHigh = DMA_CCR_PL_1 | DMA_CCR_PL_0
} |
|
enum | MemoryDataSize : uint32_t {
Byte = 0,
Bit8 = Byte,
HalfWord = DMA_CCR_MSIZE_0,
Bit16 = HalfWord,
Word = DMA_CCR_MSIZE_1,
Bit32 = Word
} |
|
enum | PeripheralDataSize : uint32_t {
Byte = 0,
Bit8 = Byte,
HalfWord = DMA_CCR_PSIZE_0,
Bit16 = HalfWord,
Word = DMA_CCR_PSIZE_1,
Bit32 = Word
} |
|
enum | MemoryIncrementMode : uint32_t { Fixed = 0,
MemoryIncrementMode::Increment = DMA_CCR_MINC
} |
|
enum | PeripheralIncrementMode : uint32_t { Fixed = 0,
PeripheralIncrementMode::Increment = DMA_CCR_PINC
} |
|
enum | CircularMode : uint32_t { Disabled = 0,
CircularMode::Enabled = DMA_CCR_CIRC
} |
|
enum | DataTransferDirection : uint32_t { DataTransferDirection::PeripheralToMemory = 0,
DataTransferDirection::MemoryToPeripheral = DMA_CCR_DIR,
DataTransferDirection::MemoryToMemory = DMA_CCR_MEM2MEM
} |
|
enum | Signal : uint8_t {
NoSignal,
Ch1,
Ch2,
Ch3,
Ch4,
Rx,
Trig,
Tx,
Up
} |
|
enum | InterruptEnable : uint32_t { TransferComplete = DMA_CCR_TCIE,
HalfTransfer = DMA_CCR_HTIE,
TransferError = DMA_CCR_TEIE
} |
|
enum | InterruptFlags : uint8_t {
Global = 0b0001,
TransferComplete = 0b0010,
HalfTransferComplete = 0b0100,
Error = 0b1000,
All = 0b1111
} |
|
|
| MODM_FLAGS32 (InterruptEnable) |
|
| MODM_FLAGS32 (InterruptFlags) |
|
|
static constexpr uint32_t | memoryMask |
|
static constexpr uint32_t | peripheralMask |
|
static constexpr uint32_t | configmask |
|
DMA
- Author
- Kevin Laeufer
-
Mike Wolfram
Enum Values | Documentation |
---|
Enabled | circular mode
|
Enum Values | Documentation |
---|
PeripheralToMemory | Source: DMA_CPARx; Sink: DMA_CMARx.
|
MemoryToPeripheral | Source: DMA_CMARx; Sink: DMA_CPARx.
|
MemoryToMemory | Source: DMA_CPARx; Sink: DMA_CMARx.
|
In direct mode (if the FIFO is not used) MSIZE is forced by hardware to the same value as PSIZE
Enum Values | Documentation |
---|
Increment | incremented according to MemoryDataSize
|
Enum Values | Documentation |
---|
Increment | incremented according to PeripheralDataSize
|
Peripheral signals that can be used in DMA channels
constexpr uint32_t modm::platform::DmaBase::configmask |
|
staticprotectedconstexpr |
Initial value:DMA_CCR_CIRC |
DMA_CCR_PL_1 | DMA_CCR_PL_0
constexpr uint32_t modm::platform::DmaBase::memoryMask |
|
staticprotectedconstexpr |
Initial value:DMA_CCR_MSIZE_0 | DMA_CCR_MSIZE_1 |
DMA_CCR_MINC |
DMA_CCR_DIR | DMA_CCR_MEM2MEM
constexpr uint32_t modm::platform::DmaBase::peripheralMask |
|
staticprotectedconstexpr |
Initial value:DMA_CCR_PSIZE_0 | DMA_CCR_PSIZE_1 |
DMA_CCR_PINC |
DMA_CCR_DIR | DMA_CCR_MEM2MEM
The documentation for this class was generated from the following file: