|
enum | Channel {
Channel1 = 0,
Channel2,
Channel3,
Channel4,
Channel5,
Channel6,
Channel7
} |
|
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 | 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
} |
|
enum | MemoryDataSize : uint32_t {
Byte = 0,
Bit8 = Byte,
HalfWord = DMA_CCR_MSIZE_0,
Bit16 = HalfWord,
Word = DMA_CCR_MSIZE_1,
Bit32 = Word
} |
|
enum | MemoryIncrementMode : uint32_t { Fixed = 0,
MemoryIncrementMode::Increment = DMA_CCR_MINC
} |
|
enum | PeripheralDataSize : uint32_t {
Byte = 0,
Bit8 = Byte,
HalfWord = DMA_CCR_PSIZE_0,
Bit16 = HalfWord,
Word = DMA_CCR_PSIZE_1,
Bit32 = Word
} |
|
enum | PeripheralIncrementMode : uint32_t { Fixed = 0,
PeripheralIncrementMode::Increment = DMA_CCR_PINC
} |
|
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 | Request { Any
} |
|
enum | Signal : uint8_t {
NoSignal,
Ch1,
Ch2,
Ch3,
Ch4,
Rx,
Trig,
Tx,
Up
} |
|
template<uint32_t ID>
class modm::platform::DmaController< ID >
DMA controller
Does not support - among other things - double buffering or FIFO usage
- Author
- Mike Wolfram