libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
ch32_uart_def.cpp
1// NOLINTBEGIN(cppcoreguidelines-pro-type-cstyle-cast,performance-no-int-to-ptr)
2#include "ch32_uart_def.hpp"
3
4ch32_uart_id_t ch32_uart_get_id(USART_TypeDef* addr)
5{
6 if (addr == nullptr)
7 { // NOLINT
8 return ch32_uart_id_t::CH32_UART_ID_ERROR;
9 }
10#if defined(USART1)
11 else if (addr == USART1)
12 { // NOLINT
13 return ch32_uart_id_t::CH32_USART1;
14 }
15#endif
16#if defined(USART2)
17 else if (addr == USART2)
18 { // NOLINT
19 return ch32_uart_id_t::CH32_USART2;
20 }
21#endif
22#if defined(USART3)
23 else if (addr == USART3)
24 { // NOLINT
25 return ch32_uart_id_t::CH32_USART3;
26 }
27#endif
28#if defined(USART4)
29 else if (addr == USART4)
30 { // NOLINT
31 return ch32_uart_id_t::CH32_USART4;
32 }
33#endif
34#if defined(USART5)
35 else if (addr == USART5)
36 { // NOLINT
37 return ch32_uart_id_t::CH32_USART5;
38 }
39#endif
40#if defined(USART6)
41 else if (addr == USART6)
42 { // NOLINT
43 return ch32_uart_id_t::CH32_USART6;
44 }
45#endif
46#if defined(USART7)
47 else if (addr == USART7)
48 { // NOLINT
49 return ch32_uart_id_t::CH32_USART7;
50 }
51#endif
52#if defined(USART8)
53 else if (addr == USART8)
54 { // NOLINT
55 return ch32_uart_id_t::CH32_USART8;
56 }
57#endif
58#if defined(UART1)
59 else if (addr == UART1)
60 { // NOLINT
61 return ch32_uart_id_t::CH32_UART1;
62 }
63#endif
64#if defined(UART2)
65 else if (addr == UART2)
66 { // NOLINT
67 return ch32_uart_id_t::CH32_UART2;
68 }
69#endif
70#if defined(UART3)
71 else if (addr == UART3)
72 { // NOLINT
73 return ch32_uart_id_t::CH32_UART3;
74 }
75#endif
76#if defined(UART4)
77 else if (addr == UART4)
78 { // NOLINT
79 return ch32_uart_id_t::CH32_UART4;
80 }
81#endif
82#if defined(UART5)
83 else if (addr == UART5)
84 { // NOLINT
85 return ch32_uart_id_t::CH32_UART5;
86 }
87#endif
88#if defined(UART6)
89 else if (addr == UART6)
90 { // NOLINT
91 return ch32_uart_id_t::CH32_UART6;
92 }
93#endif
94#if defined(UART7)
95 else if (addr == UART7)
96 { // NOLINT
97 return ch32_uart_id_t::CH32_UART7;
98 }
99#endif
100#if defined(UART8)
101 else if (addr == UART8)
102 { // NOLINT
103 return ch32_uart_id_t::CH32_UART8;
104 }
105#endif
106 else
107 {
108 return ch32_uart_id_t::CH32_UART_ID_ERROR;
109 }
110}
111
112USART_TypeDef* ch32_uart_get_instance_id(ch32_uart_id_t id)
113{
114 switch (id)
115 {
116#if defined(USART1)
117 case CH32_USART1:
118 return USART1;
119#endif
120#if defined(USART2)
121 case CH32_USART2:
122 return USART2;
123#endif
124#if defined(USART3)
125 case CH32_USART3:
126 return USART3;
127#endif
128#if defined(USART4)
129 case CH32_USART4:
130 return USART4;
131#endif
132#if defined(USART5)
133 case CH32_USART5:
134 return USART5;
135#endif
136#if defined(USART6)
137 case CH32_USART6:
138 return USART6;
139#endif
140#if defined(USART7)
141 case CH32_USART7:
142 return USART7;
143#endif
144#if defined(USART8)
145 case CH32_USART8:
146 return USART8;
147#endif
148#if defined(UART1)
149 case CH32_UART1:
150 return UART1;
151#endif
152#if defined(UART2)
153 case CH32_UART2:
154 return UART2;
155#endif
156#if defined(UART3)
157 case CH32_UART3:
158 return UART3;
159#endif
160#if defined(UART4)
161 case CH32_UART4:
162 return UART4;
163#endif
164#if defined(UART5)
165 case CH32_UART5:
166 return UART5;
167#endif
168#if defined(UART6)
169 case CH32_UART6:
170 return UART6;
171#endif
172#if defined(UART7)
173 case CH32_UART7:
174 return UART7;
175#endif
176#if defined(UART8)
177 case CH32_UART8:
178 return UART8;
179#endif
180 default:
181 return nullptr;
182 }
183}
184// NOLINTEND(cppcoreguidelines-pro-type-cstyle-cast,performance-no-int-to-ptr)