ATmega2560
Hardware definitions
Loading...
Searching...
No Matches
PinFunctions.h
Go to the documentation of this file.
1
5
6#ifndef ATMEGA2560_DEFINITIONS_PINFUNCTIONS_H
7#define ATMEGA2560_DEFINITIONS_PINFUNCTIONS_H
8
9#include <stdint.h>
10#include "Config.h"
11#include "Pin.h"
12
14namespace atmega2560
15{
17 namespace pin
18 {
20 enum : uint32_t
21 {
22 GPIO = 0x00001U,
23 PinChangeInterrupt = 0x00002U,
24 ADC = 0x00004U,
25 PWM = 0x00008U,
26 ExternalInterrupt = 0x00010U,
27 SPI = 0x00020U,
28 USART = 0x00040U,
29 TWI = 0x00080U,
30 TimerExternalClock = 0x00100U,
31 InputCapture = 0x00200U,
32 ClockOutput = 0x00400U,
33 Reset = 0x00800U,
34 AnalogComparator = 0x01000U,
35 TimerOscillator = 0x02000U,
37 JTAG = 0x08000U,
39 None = 0x00000U,
40 };
42 enum class Function : uint8_t
43 {
44 GPIO = 0,
45 A10 = 1,
46 A11 = 2,
47 A12 = 3,
48 A13 = 4,
49 A14 = 5,
50 A15 = 6,
51 A8 = 7,
52 A9 = 8,
53 AD0 = 9,
54 AD1 = 10,
55 AD2 = 11,
56 AD3 = 12,
57 AD4 = 13,
58 AD5 = 14,
59 AD6 = 15,
60 AD7 = 16,
61 ADC0 = 17,
62 ADC1 = 18,
63 ADC10 = 19,
64 ADC11 = 20,
65 ADC12 = 21,
66 ADC13 = 22,
67 ADC14 = 23,
68 ADC15 = 24,
69 ADC2 = 25,
70 ADC3 = 26,
71 ADC4 = 27,
72 ADC5 = 28,
73 ADC6 = 29,
74 ADC7 = 30,
75 ADC8 = 31,
76 ADC9 = 32,
77 AIN0 = 33,
78 AIN1 = 34,
79 ALE = 35,
80 CLKO = 36,
81 ICP1 = 37,
82 ICP3 = 38,
83 ICP4 = 39,
84 ICP5 = 40,
85 INT0 = 41,
86 INT1 = 42,
87 INT2 = 43,
88 INT3 = 44,
89 INT4 = 45,
90 INT5 = 46,
91 INT6 = 47,
92 INT7 = 48,
93 MISO = 49,
94 MOSI = 50,
95 OC0A = 51,
96 OC0B = 52,
97 OC1A = 53,
98 OC1B = 54,
99 OC1C = 55,
100 OC2A = 56,
101 OC2B = 57,
102 OC3A = 58,
103 OC3B = 59,
104 OC3C = 60,
105 OC4A = 61,
106 OC4B = 62,
107 OC4C = 63,
108 OC5A = 64,
109 OC5B = 65,
110 OC5C = 66,
111 PCINT0 = 67,
112 PCINT1 = 68,
113 PCINT10 = 69,
114 PCINT11 = 70,
115 PCINT12 = 71,
116 PCINT13 = 72,
117 PCINT14 = 73,
118 PCINT15 = 74,
119 PCINT16 = 75,
120 PCINT17 = 76,
121 PCINT18 = 77,
122 PCINT19 = 78,
123 PCINT2 = 79,
124 PCINT20 = 80,
125 PCINT21 = 81,
126 PCINT22 = 82,
127 PCINT23 = 83,
128 PCINT3 = 84,
129 PCINT4 = 85,
130 PCINT5 = 86,
131 PCINT6 = 87,
132 PCINT7 = 88,
133 PCINT8 = 89,
134 PCINT9 = 90,
135 RD = 91,
136 RXD0 = 92,
137 RXD1 = 93,
138 RXD2 = 94,
139 RXD3 = 95,
140 SCK = 96,
141 SCL = 97,
142 SDA = 98,
143 SS = 99,
144 T0 = 100,
145 T1 = 101,
146 T3 = 102,
147 T4 = 103,
148 T5 = 104,
149 TCK = 105,
150 TDI = 106,
151 TDO = 107,
152 TMS = 108,
153 TOSC1 = 109,
154 TOSC2 = 110,
155 TXD0 = 111,
156 TXD1 = 112,
157 TXD2 = 113,
158 TXD3 = 114,
159 WR = 115,
160 XCK0 = 116,
161 XCK1 = 117,
162 XCK2 = 118,
163 XCK3 = 119,
164 };
165
166 namespace capabilities
167 {
169 enum : uint32_t
170 {
171 PA0 = 0x10001U,
172 PA1 = 0x10001U,
173 PA2 = 0x10001U,
174 PA3 = 0x10001U,
175 PA4 = 0x10001U,
176 PA5 = 0x10001U,
177 PA6 = 0x10001U,
178 PA7 = 0x10001U,
179 PB0 = 0x00023U,
180 PB1 = 0x00023U,
181 PB2 = 0x00023U,
182 PB3 = 0x00023U,
183 PB4 = 0x0000BU,
184 PB5 = 0x0000BU,
185 PB6 = 0x0000BU,
186 PB7 = 0x0000BU,
187 PC0 = 0x10001U,
188 PC1 = 0x10001U,
189 PC2 = 0x10001U,
190 PC3 = 0x10001U,
191 PC4 = 0x10001U,
192 PC5 = 0x10001U,
193 PC6 = 0x10001U,
194 PC7 = 0x10001U,
195 PD0 = 0x00091U,
196 PD1 = 0x00091U,
197 PD2 = 0x00051U,
198 PD3 = 0x00051U,
199 PD4 = 0x00201U,
200 PD5 = 0x00041U,
201 PD6 = 0x00101U,
202 PD7 = 0x00101U,
203 PE0 = 0x00043U,
204 PE1 = 0x00041U,
205 PE2 = 0x01041U,
206 PE3 = 0x01009U,
207 PE4 = 0x00019U,
208 PE5 = 0x00019U,
209 PE6 = 0x00111U,
210 PE7 = 0x00611U,
211 PF0 = 0x00005U,
212 PF1 = 0x00005U,
213 PF2 = 0x00005U,
214 PF3 = 0x00005U,
215 PF4 = 0x08005U,
216 PF5 = 0x08005U,
217 PF6 = 0x08005U,
218 PF7 = 0x08005U,
219 PG0 = 0x10001U,
220 PG1 = 0x10001U,
221 PG2 = 0x10001U,
222 PG3 = 0x02001U,
223 PG4 = 0x02001U,
224 PG5 = 0x00009U,
225 PH0 = 0x00041U,
226 PH1 = 0x00041U,
227 PH2 = 0x00041U,
228 PH3 = 0x00009U,
229 PH4 = 0x00009U,
230 PH5 = 0x00009U,
231 PH6 = 0x00009U,
232 PH7 = 0x00101U,
233 PJ0 = 0x00043U,
234 PJ1 = 0x00043U,
235 PJ2 = 0x00043U,
236 PJ3 = 0x00003U,
237 PJ4 = 0x00003U,
238 PJ5 = 0x00003U,
239 PJ6 = 0x00003U,
240 PJ7 = 0x00001U,
241 PK0 = 0x00007U,
242 PK1 = 0x00007U,
243 PK2 = 0x00007U,
244 PK3 = 0x00007U,
245 PK4 = 0x00007U,
246 PK5 = 0x00007U,
247 PK6 = 0x00007U,
248 PK7 = 0x00007U,
249 PL0 = 0x00201U,
250 PL1 = 0x00201U,
251 PL2 = 0x00101U,
252 PL3 = 0x00009U,
253 PL4 = 0x00009U,
254 PL5 = 0x00009U,
255 PL6 = 0x00001U,
256 PL7 = 0x00001U,
257 };
258 }
259 }
260}
261
262#endif
Device, package and operating-grade selection.
Logical GPIO pin and port identifiers.
Capabilities definitions.
Definition PinFunctions.h:167
@ PE7
PE7 capability mask.
Definition PinFunctions.h:210
@ PF3
PF3 capability mask.
Definition PinFunctions.h:214
@ PJ4
PJ4 capability mask.
Definition PinFunctions.h:237
@ PB6
PB6 capability mask.
Definition PinFunctions.h:185
@ PL6
PL6 capability mask.
Definition PinFunctions.h:255
@ PF4
PF4 capability mask.
Definition PinFunctions.h:215
@ PF2
PF2 capability mask.
Definition PinFunctions.h:213
@ PD1
PD1 capability mask.
Definition PinFunctions.h:196
@ PH6
PH6 capability mask.
Definition PinFunctions.h:231
@ PH3
PH3 capability mask.
Definition PinFunctions.h:228
@ PJ6
PJ6 capability mask.
Definition PinFunctions.h:239
@ PH4
PH4 capability mask.
Definition PinFunctions.h:229
@ PG1
PG1 capability mask.
Definition PinFunctions.h:220
@ PA7
PA7 capability mask.
Definition PinFunctions.h:178
@ PL0
PL0 capability mask.
Definition PinFunctions.h:249
@ PK1
PK1 capability mask.
Definition PinFunctions.h:242
@ PG3
PG3 capability mask.
Definition PinFunctions.h:222
@ PA5
PA5 capability mask.
Definition PinFunctions.h:176
@ PC6
PC6 capability mask.
Definition PinFunctions.h:193
@ PB0
PB0 capability mask.
Definition PinFunctions.h:179
@ PE2
PE2 capability mask.
Definition PinFunctions.h:205
@ PK2
PK2 capability mask.
Definition PinFunctions.h:243
@ PD4
PD4 capability mask.
Definition PinFunctions.h:199
@ PB4
PB4 capability mask.
Definition PinFunctions.h:183
@ PK5
PK5 capability mask.
Definition PinFunctions.h:246
@ PF6
PF6 capability mask.
Definition PinFunctions.h:217
@ PD2
PD2 capability mask.
Definition PinFunctions.h:197
@ PE1
PE1 capability mask.
Definition PinFunctions.h:204
@ PB3
PB3 capability mask.
Definition PinFunctions.h:182
@ PD3
PD3 capability mask.
Definition PinFunctions.h:198
@ PE5
PE5 capability mask.
Definition PinFunctions.h:208
@ PJ0
PJ0 capability mask.
Definition PinFunctions.h:233
@ PL3
PL3 capability mask.
Definition PinFunctions.h:252
@ PD5
PD5 capability mask.
Definition PinFunctions.h:200
@ PA0
PA0 capability mask.
Definition PinFunctions.h:171
@ PC1
PC1 capability mask.
Definition PinFunctions.h:188
@ PA3
PA3 capability mask.
Definition PinFunctions.h:174
@ PK3
PK3 capability mask.
Definition PinFunctions.h:244
@ PL5
PL5 capability mask.
Definition PinFunctions.h:254
@ PK0
PK0 capability mask.
Definition PinFunctions.h:241
@ PJ5
PJ5 capability mask.
Definition PinFunctions.h:238
@ PB2
PB2 capability mask.
Definition PinFunctions.h:181
@ PL4
PL4 capability mask.
Definition PinFunctions.h:253
@ PL2
PL2 capability mask.
Definition PinFunctions.h:251
@ PA6
PA6 capability mask.
Definition PinFunctions.h:177
@ PJ1
PJ1 capability mask.
Definition PinFunctions.h:234
@ PF0
PF0 capability mask.
Definition PinFunctions.h:211
@ PB1
PB1 capability mask.
Definition PinFunctions.h:180
@ PD6
PD6 capability mask.
Definition PinFunctions.h:201
@ PE0
PE0 capability mask.
Definition PinFunctions.h:203
@ PC7
PC7 capability mask.
Definition PinFunctions.h:194
@ PC5
PC5 capability mask.
Definition PinFunctions.h:192
@ PJ2
PJ2 capability mask.
Definition PinFunctions.h:235
@ PL7
PL7 capability mask.
Definition PinFunctions.h:256
@ PH0
PH0 capability mask.
Definition PinFunctions.h:225
@ PH1
PH1 capability mask.
Definition PinFunctions.h:226
@ PC3
PC3 capability mask.
Definition PinFunctions.h:190
@ PE6
PE6 capability mask.
Definition PinFunctions.h:209
@ PF7
PF7 capability mask.
Definition PinFunctions.h:218
@ PH5
PH5 capability mask.
Definition PinFunctions.h:230
@ PG4
PG4 capability mask.
Definition PinFunctions.h:223
@ PE4
PE4 capability mask.
Definition PinFunctions.h:207
@ PD7
PD7 capability mask.
Definition PinFunctions.h:202
@ PL1
PL1 capability mask.
Definition PinFunctions.h:250
@ PC2
PC2 capability mask.
Definition PinFunctions.h:189
@ PE3
PE3 capability mask.
Definition PinFunctions.h:206
@ PK7
PK7 capability mask.
Definition PinFunctions.h:248
@ PC4
PC4 capability mask.
Definition PinFunctions.h:191
@ PG0
PG0 capability mask.
Definition PinFunctions.h:219
@ PA2
PA2 capability mask.
Definition PinFunctions.h:173
@ PH2
PH2 capability mask.
Definition PinFunctions.h:227
@ PJ3
PJ3 capability mask.
Definition PinFunctions.h:236
@ PK6
PK6 capability mask.
Definition PinFunctions.h:247
@ PG5
PG5 capability mask.
Definition PinFunctions.h:224
@ PA1
PA1 capability mask.
Definition PinFunctions.h:172
@ PJ7
PJ7 capability mask.
Definition PinFunctions.h:240
@ PA4
PA4 capability mask.
Definition PinFunctions.h:175
@ PB5
PB5 capability mask.
Definition PinFunctions.h:184
@ PB7
PB7 capability mask.
Definition PinFunctions.h:186
@ PH7
PH7 capability mask.
Definition PinFunctions.h:232
@ PF1
PF1 capability mask.
Definition PinFunctions.h:212
@ PG2
PG2 capability mask.
Definition PinFunctions.h:221
@ PK4
PK4 capability mask.
Definition PinFunctions.h:245
@ PF5
PF5 capability mask.
Definition PinFunctions.h:216
@ PD0
PD0 capability mask.
Definition PinFunctions.h:195
@ PC0
PC0 capability mask.
Definition PinFunctions.h:187
Logical pin and alternate function identifiers definitions.
Definition Pin.h:17
Function
Named alternate functions.
Definition PinFunctions.h:43
@ T5
T5 alternate function.
Definition PinFunctions.h:148
@ SDA
SDA alternate function.
Definition PinFunctions.h:142
@ OC5A
OC5A alternate function.
Definition PinFunctions.h:108
@ A12
A12 alternate function.
Definition PinFunctions.h:47
@ AD0
AD0 alternate function.
Definition PinFunctions.h:53
@ OC5C
OC5C alternate function.
Definition PinFunctions.h:110
@ INT3
INT3 alternate function.
Definition PinFunctions.h:88
@ PCINT7
PCINT7 alternate function.
Definition PinFunctions.h:132
@ XCK0
XCK0 alternate function.
Definition PinFunctions.h:160
@ PCINT1
PCINT1 alternate function.
Definition PinFunctions.h:112
@ PCINT22
PCINT22 alternate function.
Definition PinFunctions.h:126
@ AIN0
AIN0 alternate function.
Definition PinFunctions.h:77
@ PCINT14
PCINT14 alternate function.
Definition PinFunctions.h:117
@ PCINT13
PCINT13 alternate function.
Definition PinFunctions.h:116
@ AIN1
AIN1 alternate function.
Definition PinFunctions.h:78
@ RXD1
RXD1 alternate function.
Definition PinFunctions.h:137
@ PCINT23
PCINT23 alternate function.
Definition PinFunctions.h:127
@ ADC0
ADC0 alternate function.
Definition PinFunctions.h:61
@ TXD1
TXD1 alternate function.
Definition PinFunctions.h:156
@ AD4
AD4 alternate function.
Definition PinFunctions.h:57
@ OC2A
OC2A alternate function.
Definition PinFunctions.h:100
@ XCK1
XCK1 alternate function.
Definition PinFunctions.h:161
@ ADC11
ADC11 alternate function.
Definition PinFunctions.h:64
@ INT0
INT0 alternate function.
Definition PinFunctions.h:85
@ SCL
SCL alternate function.
Definition PinFunctions.h:141
@ RXD3
RXD3 alternate function.
Definition PinFunctions.h:139
@ AD6
AD6 alternate function.
Definition PinFunctions.h:59
@ PCINT20
PCINT20 alternate function.
Definition PinFunctions.h:124
@ OC5B
OC5B alternate function.
Definition PinFunctions.h:109
@ ADC5
ADC5 alternate function.
Definition PinFunctions.h:72
@ AD2
AD2 alternate function.
Definition PinFunctions.h:55
@ OC1C
OC1C alternate function.
Definition PinFunctions.h:99
@ ADC15
ADC15 alternate function.
Definition PinFunctions.h:68
@ SCK
SCK alternate function.
Definition PinFunctions.h:140
@ PCINT16
PCINT16 alternate function.
Definition PinFunctions.h:119
@ OC4B
OC4B alternate function.
Definition PinFunctions.h:106
@ A14
A14 alternate function.
Definition PinFunctions.h:49
@ PCINT19
PCINT19 alternate function.
Definition PinFunctions.h:122
@ ADC4
ADC4 alternate function.
Definition PinFunctions.h:71
@ A10
A10 alternate function.
Definition PinFunctions.h:45
@ ADC14
ADC14 alternate function.
Definition PinFunctions.h:67
@ OC2B
OC2B alternate function.
Definition PinFunctions.h:101
@ T3
T3 alternate function.
Definition PinFunctions.h:146
@ TDO
TDO alternate function.
Definition PinFunctions.h:151
@ OC0A
OC0A alternate function.
Definition PinFunctions.h:95
@ PCINT17
PCINT17 alternate function.
Definition PinFunctions.h:120
@ AD1
AD1 alternate function.
Definition PinFunctions.h:54
@ PCINT11
PCINT11 alternate function.
Definition PinFunctions.h:114
@ ICP1
ICP1 alternate function.
Definition PinFunctions.h:81
@ OC0B
OC0B alternate function.
Definition PinFunctions.h:96
@ ADC8
ADC8 alternate function.
Definition PinFunctions.h:75
@ ADC2
ADC2 alternate function.
Definition PinFunctions.h:69
@ OC1B
OC1B alternate function.
Definition PinFunctions.h:98
@ OC3A
OC3A alternate function.
Definition PinFunctions.h:102
@ TOSC1
TOSC1 alternate function.
Definition PinFunctions.h:153
@ ADC7
ADC7 alternate function.
Definition PinFunctions.h:74
@ A9
A9 alternate function.
Definition PinFunctions.h:52
@ ALE
ALE alternate function.
Definition PinFunctions.h:79
@ CLKO
CLKO alternate function.
Definition PinFunctions.h:80
@ ADC6
ADC6 alternate function.
Definition PinFunctions.h:73
@ PCINT2
PCINT2 alternate function.
Definition PinFunctions.h:123
@ OC3C
OC3C alternate function.
Definition PinFunctions.h:104
@ PCINT18
PCINT18 alternate function.
Definition PinFunctions.h:121
@ INT2
INT2 alternate function.
Definition PinFunctions.h:87
@ PCINT3
PCINT3 alternate function.
Definition PinFunctions.h:128
@ ICP4
ICP4 alternate function.
Definition PinFunctions.h:83
@ INT4
INT4 alternate function.
Definition PinFunctions.h:89
@ AD7
AD7 alternate function.
Definition PinFunctions.h:60
@ RXD0
RXD0 alternate function.
Definition PinFunctions.h:136
@ ADC1
ADC1 alternate function.
Definition PinFunctions.h:62
@ PCINT6
PCINT6 alternate function.
Definition PinFunctions.h:131
@ PCINT8
PCINT8 alternate function.
Definition PinFunctions.h:133
@ TMS
TMS alternate function.
Definition PinFunctions.h:152
@ ADC12
ADC12 alternate function.
Definition PinFunctions.h:65
@ ADC3
ADC3 alternate function.
Definition PinFunctions.h:70
@ T0
T0 alternate function.
Definition PinFunctions.h:144
@ PCINT5
PCINT5 alternate function.
Definition PinFunctions.h:130
@ ADC10
ADC10 alternate function.
Definition PinFunctions.h:63
@ OC3B
OC3B alternate function.
Definition PinFunctions.h:103
@ OC1A
OC1A alternate function.
Definition PinFunctions.h:97
@ INT5
INT5 alternate function.
Definition PinFunctions.h:90
@ PCINT15
PCINT15 alternate function.
Definition PinFunctions.h:118
@ MISO
MISO alternate function.
Definition PinFunctions.h:93
@ XCK3
XCK3 alternate function.
Definition PinFunctions.h:163
@ OC4A
OC4A alternate function.
Definition PinFunctions.h:105
@ MOSI
MOSI alternate function.
Definition PinFunctions.h:94
@ TOSC2
TOSC2 alternate function.
Definition PinFunctions.h:154
@ ADC9
ADC9 alternate function.
Definition PinFunctions.h:76
@ OC4C
OC4C alternate function.
Definition PinFunctions.h:107
@ PCINT21
PCINT21 alternate function.
Definition PinFunctions.h:125
@ INT6
INT6 alternate function.
Definition PinFunctions.h:91
@ ICP3
ICP3 alternate function.
Definition PinFunctions.h:82
@ TXD2
TXD2 alternate function.
Definition PinFunctions.h:157
@ PCINT4
PCINT4 alternate function.
Definition PinFunctions.h:129
@ A15
A15 alternate function.
Definition PinFunctions.h:50
@ RD
RD alternate function.
Definition PinFunctions.h:135
@ T1
T1 alternate function.
Definition PinFunctions.h:145
@ INT1
INT1 alternate function.
Definition PinFunctions.h:86
@ SS
SS alternate function.
Definition PinFunctions.h:143
@ TXD3
TXD3 alternate function.
Definition PinFunctions.h:158
@ ICP5
ICP5 alternate function.
Definition PinFunctions.h:84
@ AD3
AD3 alternate function.
Definition PinFunctions.h:56
@ TDI
TDI alternate function.
Definition PinFunctions.h:150
@ RXD2
RXD2 alternate function.
Definition PinFunctions.h:138
@ PCINT10
PCINT10 alternate function.
Definition PinFunctions.h:113
@ PCINT0
PCINT0 alternate function.
Definition PinFunctions.h:111
@ TXD0
TXD0 alternate function.
Definition PinFunctions.h:155
@ INT7
INT7 alternate function.
Definition PinFunctions.h:92
@ AD5
AD5 alternate function.
Definition PinFunctions.h:58
@ WR
WR alternate function.
Definition PinFunctions.h:159
@ A13
A13 alternate function.
Definition PinFunctions.h:48
@ T4
T4 alternate function.
Definition PinFunctions.h:147
@ A11
A11 alternate function.
Definition PinFunctions.h:46
@ PCINT9
PCINT9 alternate function.
Definition PinFunctions.h:134
@ ADC13
ADC13 alternate function.
Definition PinFunctions.h:66
@ TCK
TCK alternate function.
Definition PinFunctions.h:149
@ XCK2
XCK2 alternate function.
Definition PinFunctions.h:162
@ A8
A8 alternate function.
Definition PinFunctions.h:51
@ PCINT12
PCINT12 alternate function.
Definition PinFunctions.h:115
@ None
No capabilities.
Definition PinFunctions.h:39
@ USART
USART capability.
Definition PinFunctions.h:28
@ PWM
PWM capability.
Definition PinFunctions.h:25
@ Reset
Reset capability.
Definition PinFunctions.h:33
@ ExternalInterrupt
ExternalInterrupt capability.
Definition PinFunctions.h:26
@ SPI
SPI capability.
Definition PinFunctions.h:27
@ ExternalMemoryInterface
ExternalMemoryInterface capability.
Definition PinFunctions.h:38
@ JTAG
JTAG capability.
Definition PinFunctions.h:37
@ ClockOutput
ClockOutput capability.
Definition PinFunctions.h:32
@ ADC
ADC capability.
Definition PinFunctions.h:24
@ InputCapture
InputCapture capability.
Definition PinFunctions.h:31
@ GPIO
GPIO capability.
Definition PinFunctions.h:22
@ TimerExternalClock
TimerExternalClock capability.
Definition PinFunctions.h:30
@ AnalogComparator
AnalogComparator capability.
Definition PinFunctions.h:34
@ MainClockOscillator
MainClockOscillator capability.
Definition PinFunctions.h:36
@ TWI
TWI capability.
Definition PinFunctions.h:29
@ PinChangeInterrupt
PinChangeInterrupt capability.
Definition PinFunctions.h:23
@ TimerOscillator
TimerOscillator capability.
Definition PinFunctions.h:35
ATmega2560 hardware definitions.
Definition ADC.h:15