mFrame
載入中...
搜尋中...
無符合項目
MuxPortPin.h
1
7#ifndef MCXA153_64666743_B91A_4EB7_B6DA_C82F07360F38
8#define MCXA153_64666743_B91A_4EB7_B6DA_C82F07360F38
9
10/* ***************************************************************************************
11 * Include
12 */
13#include "mframe.h"
14
15//----------------------------------------------------------------------------------------
16
17//----------------------------------------------------------------------------------------
18
19/* ***************************************************************************************
20 * Namespace
21 */
22namespace mcxa153::core::mux {
23 enum struct MuxPortPin : uint16;
24
33 constexpr uint16 operator+(MuxPortPin e) {
34 return static_cast<uint16>(e);
35 }
36
45 static inline constexpr uint8 getMuxPort(MuxPortPin e) {
46 return static_cast<uint8>((+e & 0x0300) >> 8U);
47 }
48
57 static inline constexpr uint8 getMuxPin(MuxPortPin e) {
58 return static_cast<uint8>(+e & 0x001F);
59 }
60
70 static inline constexpr uint16 genMuxPortPin(uint8 port, uint8 pin) {
71 return static_cast<uint16>(
72 static_cast<uint16>(static_cast<uint16>(port & 0x03U) << 8U) + (pin & 0x1FU));
73 }
74
75} // namespace mcxa153::core::mux
76
77/* ***************************************************************************************
78 * Class/Interface/Struct/Enum
79 */
91enum struct mcxa153::core::mux::MuxPortPin : uint16 {
93 P0_0 = genMuxPortPin(0, 0),
95 P0_1 = genMuxPortPin(0, 1),
97 P0_2 = genMuxPortPin(0, 2),
99 P0_3 = genMuxPortPin(0, 3),
101 P0_6 = genMuxPortPin(0, 6),
103 P0_16 = genMuxPortPin(0, 16),
105 P0_17 = genMuxPortPin(0, 17),
107 P1_0 = genMuxPortPin(1, 0),
109 P1_1 = genMuxPortPin(1, 1),
111 P1_2 = genMuxPortPin(1, 2),
113 P1_3 = genMuxPortPin(1, 3),
115 P1_4 = genMuxPortPin(1, 4),
117 P1_5 = genMuxPortPin(1, 5),
119 P1_6 = genMuxPortPin(1, 6),
121 P1_7 = genMuxPortPin(1, 7),
123 P1_8 = genMuxPortPin(1, 8),
125 P1_9 = genMuxPortPin(1, 9),
127 P1_10 = genMuxPortPin(1, 10),
129 P1_11 = genMuxPortPin(1, 11),
131 P1_12 = genMuxPortPin(1, 12),
133 P1_13 = genMuxPortPin(1, 13),
135 P1_29 = genMuxPortPin(1, 29),
137 P1_30 = genMuxPortPin(1, 30),
139 P1_31 = genMuxPortPin(1, 31),
141 P2_0 = genMuxPortPin(2, 0),
143 P2_1 = genMuxPortPin(2, 1),
145 P2_2 = genMuxPortPin(2, 2),
147 P2_3 = genMuxPortPin(2, 3),
149 P2_4 = genMuxPortPin(2, 4),
151 P2_5 = genMuxPortPin(2, 5),
153 P2_6 = genMuxPortPin(2, 6),
155 P2_7 = genMuxPortPin(2, 7),
157 P2_12 = genMuxPortPin(2, 12),
159 P2_13 = genMuxPortPin(2, 13),
161 P2_16 = genMuxPortPin(2, 16),
163 P3_0 = genMuxPortPin(3, 0),
165 P3_1 = genMuxPortPin(3, 1),
167 P3_6 = genMuxPortPin(3, 6),
169 P3_7 = genMuxPortPin(3, 7),
171 P3_8 = genMuxPortPin(3, 8),
173 P3_9 = genMuxPortPin(3, 9),
175 P3_10 = genMuxPortPin(3, 10),
177 P3_11 = genMuxPortPin(3, 11),
179 P3_12 = genMuxPortPin(3, 12),
181 P3_13 = genMuxPortPin(3, 13),
183 P3_14 = genMuxPortPin(3, 14),
186 P3_15 = genMuxPortPin(3, 15),
188 P3_27 = genMuxPortPin(3, 27),
190 P3_28 = genMuxPortPin(3, 28),
192 P3_29 = genMuxPortPin(3, 29),
194 P3_30 = genMuxPortPin(3, 30),
196 P3_31 = genMuxPortPin(3, 31)
197};
198
199/* ***************************************************************************************
200 * End of file
201 */
202
203#endif /* MCXA153_64666743_B91A_4EB7_B6DA_C82F07360F38 */
Definition ctimer0/MAT0.h:23
MuxPortPin
MCXA153 引腳埠位編碼列舉
Definition MuxPortPin.h:91
constexpr uint32 operator+(Mux e)
Mux 枚舉轉換為 uint32.
Definition core/mux/Mux.h:34