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(DMA1_Channel8)
30 CH32_DMA1_CHANNEL8,
31#endif
32#if defined(DMA2_Channel1)
33 CH32_DMA2_CHANNEL1,
34#endif
35#if defined(DMA2_Channel2)
36 CH32_DMA2_CHANNEL2,
37#endif
38#if defined(DMA2_Channel3)
39 CH32_DMA2_CHANNEL3,
40#endif
41#if defined(DMA2_Channel4)
42 CH32_DMA2_CHANNEL4,
43#endif
44#if defined(DMA2_Channel5)
45 CH32_DMA2_CHANNEL5,
46#endif
47#if defined(DMA2_Channel6)
48 CH32_DMA2_CHANNEL6,
49#endif
50#if defined(DMA2_Channel7)
51 CH32_DMA2_CHANNEL7,
52#endif
53#if defined(DMA2_Channel8)
54 CH32_DMA2_CHANNEL8,
55#endif
56#if defined(DMA2_Channel9)
57 CH32_DMA2_CHANNEL9,
58#endif
59#if defined(DMA2_Channel10)
60 CH32_DMA2_CHANNEL10,
61#endif
62#if defined(DMA2_Channel11)
63 CH32_DMA2_CHANNEL11,
64#endif
65
66 CH32_DMA_CHANNEL_NUMBER,
67 CH32_DMA_CHANNEL_NONE
68} ch32_dma_channel_t;
69
70static constexpr IRQn_Type CH32_DMA_IRQ_MAP[] = {
71#if defined(DMA1_Channel1)
72 DMA1_Channel1_IRQn,
73#endif
74#if defined(DMA1_Channel2)
75 DMA1_Channel2_IRQn,
76#endif
77#if defined(DMA1_Channel3)
78 DMA1_Channel3_IRQn,
79#endif
80#if defined(DMA1_Channel4)
81 DMA1_Channel4_IRQn,
82#endif
83#if defined(DMA1_Channel5)
84 DMA1_Channel5_IRQn,
85#endif
86#if defined(DMA1_Channel6)
87 DMA1_Channel6_IRQn,
88#endif
89#if defined(DMA1_Channel7)
90 DMA1_Channel7_IRQn,
91#endif
92#if defined(DMA2_Channel1)
93 DMA2_Channel1_IRQn,
94#endif
95#if defined(DMA2_Channel2)
96 DMA2_Channel2_IRQn,
97#endif
98#if defined(DMA2_Channel3)
99 DMA2_Channel3_IRQn,
100#endif
101#if defined(DMA2_Channel4)
102 DMA2_Channel4_IRQn,
103#endif
104#if defined(DMA2_Channel5)
105 DMA2_Channel5_IRQn,
106#endif
107#if defined(DMA2_Channel6)
108 DMA2_Channel6_IRQn,
109#endif
110#if defined(DMA2_Channel7)
111 DMA2_Channel7_IRQn,
112#endif
113#if defined(DMA2_Channel8)
114 DMA2_Channel8_IRQn,
115#endif
116#if defined(DMA2_Channel9)
117 DMA2_Channel9_IRQn,
118#endif
119#if defined(DMA2_Channel10)
120 DMA2_Channel10_IRQn,
121#endif
122#if defined(DMA2_Channel11)
123 DMA2_Channel11_IRQn,
124#endif
125};
126
127ch32_dma_channel_t CH32_DMA_GetID(DMA_Channel_TypeDef *channel);
128
129DMA_Channel_TypeDef *CH32_DMA_GetChannel(ch32_dma_channel_t id);