libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
ch32_dma.hpp
1#pragma once
2
3#include "libxr.hpp"
4#include DEF2STR(LIBXR_CH32_CONFIG_FILE)
5
6typedef enum
7{
8#if defined(DMA1_Channel1)
9 CH32_DMA1_CHANNEL1,
10#endif
11#if defined(DMA1_Channel2)
12 CH32_DMA1_CHANNEL2,
13#endif
14#if defined(DMA1_Channel3)
15 CH32_DMA1_CHANNEL3,
16#endif
17#if defined(DMA1_Channel4)
18 CH32_DMA1_CHANNEL4,
19#endif
20#if defined(DMA1_Channel5)
21 CH32_DMA1_CHANNEL5,
22#endif
23#if defined(DMA1_Channel6)
24 CH32_DMA1_CHANNEL6,
25#endif
26#if defined(DMA1_Channel7)
27 CH32_DMA1_CHANNEL7,
28#endif
29#if defined(DMA2_Channel1)
30 CH32_DMA2_CHANNEL1,
31#endif
32#if defined(DMA2_Channel2)
33 CH32_DMA2_CHANNEL2,
34#endif
35#if defined(DMA2_Channel3)
36 CH32_DMA2_CHANNEL3,
37#endif
38#if defined(DMA2_Channel4)
39 CH32_DMA2_CHANNEL4,
40#endif
41#if defined(DMA2_Channel5)
42 CH32_DMA2_CHANNEL5,
43#endif
44#if defined(DMA2_Channel6)
45 CH32_DMA2_CHANNEL6,
46#endif
47#if defined(DMA2_Channel7)
48 CH32_DMA2_CHANNEL7,
49#endif
50#if defined(DMA2_Channel8)
51 CH32_DMA2_CHANNEL8,
52#endif
53#if defined(DMA2_Channel9)
54 CH32_DMA2_CHANNEL9,
55#endif
56#if defined(DMA2_Channel10)
57 CH32_DMA2_CHANNEL10,
58#endif
59#if defined(DMA2_Channel11)
60 CH32_DMA2_CHANNEL11,
61#endif
62
63 CH32_DMA_CHANNEL_NUMBER,
64 CH32_DMA_CHANNEL_NONE
65} ch32_dma_channel_t;
66
67static constexpr IRQn_Type CH32_DMA_IRQ_MAP[] = {
68#if defined(DMA1_Channel1)
69 DMA1_Channel1_IRQn,
70#endif
71#if defined(DMA1_Channel2)
72 DMA1_Channel2_IRQn,
73#endif
74#if defined(DMA1_Channel3)
75 DMA1_Channel3_IRQn,
76#endif
77#if defined(DMA1_Channel4)
78 DMA1_Channel4_IRQn,
79#endif
80#if defined(DMA1_Channel5)
81 DMA1_Channel5_IRQn,
82#endif
83#if defined(DMA1_Channel6)
84 DMA1_Channel6_IRQn,
85#endif
86#if defined(DMA1_Channel7)
87 DMA1_Channel7_IRQn,
88#endif
89#if defined(DMA2_Channel1)
90 DMA2_Channel1_IRQn,
91#endif
92#if defined(DMA2_Channel2)
93 DMA2_Channel2_IRQn,
94#endif
95#if defined(DMA2_Channel3)
96 DMA2_Channel3_IRQn,
97#endif
98#if defined(DMA2_Channel4)
99 DMA2_Channel4_IRQn,
100#endif
101#if defined(DMA2_Channel5)
102 DMA2_Channel5_IRQn,
103#endif
104#if defined(DMA2_Channel6)
105 DMA2_Channel6_IRQn,
106#endif
107#if defined(DMA2_Channel7)
108 DMA2_Channel7_IRQn,
109#endif
110#if defined(DMA2_Channel8)
111 DMA2_Channel8_IRQn,
112#endif
113#if defined(DMA2_Channel9)
114 DMA2_Channel9_IRQn,
115#endif
116#if defined(DMA2_Channel10)
117 DMA2_Channel10_IRQn,
118#endif
119#if defined(DMA2_Channel11)
120 DMA2_Channel11_IRQn,
121#endif
122};
123
124ch32_dma_channel_t CH32_DMA_GetID(DMA_Channel_TypeDef *channel);
125
126DMA_Channel_TypeDef *CH32_DMA_GetChannel(ch32_dma_channel_t id);