RTEMS CPU Kit with SuperCore
4.11.3
Main Page
Related Pages
Modules
+
Data Structures
Data Structures
+
Data Fields
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Functions
_
a
b
c
d
e
f
g
i
j
l
m
n
o
p
q
r
s
t
u
v
w
+
Variables
_
b
c
d
i
r
+
Typedefs
a
b
c
d
f
h
i
m
o
p
q
r
s
t
u
w
x
+
Enumerations
b
c
d
e
h
i
m
o
p
r
s
t
w
+
Enumerator
c
i
m
p
r
s
t
w
+
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
w
mnt
data0
chrisj
rtems
releases
rtems-release.git
4.11.3
ws-rtems
rtems-4.11.3
cpukit
score
cpu
avr
avr
iom16u4.h
Go to the documentation of this file.
1
9
/*
10
* Copyright (c) 2009 Atmel Corporation
11
* All rights reserved.
12
*
13
* Redistribution and use in source and binary forms, with or without
14
* modification, are permitted provided that the following conditions are met:
15
*
16
* * Redistributions of source code must retain the above copyright
17
* notice, this list of conditions and the following disclaimer.
18
*
19
* * Redistributions in binary form must reproduce the above copyright
20
* notice, this list of conditions and the following disclaimer in
21
* the documentation and/or other materials provided with the
22
* distribution.
23
*
24
* * Neither the name of the copyright holders nor the names of
25
* contributors may be used to endorse or promote products derived
26
* from this software without specific prior written permission.
27
*
28
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
32
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38
* POSSIBILITY OF SUCH DAMAGE.
39
*/
40
41
#ifndef _AVR_IO_H_
42
# error "Include <avr/io.h> instead of this file."
43
#endif
44
45
#ifndef _AVR_IOXXX_H_
46
# define _AVR_IOXXX_H_ "iom16u4.h"
47
#else
48
# error "Attempt to include more than one <avr/ioXXX.h> file."
49
#endif
50
51
52
#ifndef _AVR_ATmega16U4_H_
53
#define _AVR_ATmega16U4_H_ 1
54
62
/* Registers and associated bit numbers. */
63
64
#define PINB _SFR_IO8(0x03)
65
#define PINB0 0
66
#define PINB1 1
67
#define PINB2 2
68
#define PINB3 3
69
#define PINB4 4
70
#define PINB5 5
71
#define PINB6 6
72
#define PINB7 7
73
74
#define DDRB _SFR_IO8(0x04)
75
#define DDB0 0
76
#define DDB1 1
77
#define DDB2 2
78
#define DDB3 3
79
#define DDB4 4
80
#define DDB5 5
81
#define DDB6 6
82
#define DDB7 7
83
84
#define PORTB _SFR_IO8(0x05)
85
#define PORTB0 0
86
#define PORTB1 1
87
#define PORTB2 2
88
#define PORTB3 3
89
#define PORTB4 4
90
#define PORTB5 5
91
#define PORTB6 6
92
#define PORTB7 7
93
94
#define PINC _SFR_IO8(0x06)
95
#define PINC6 6
96
#define PINC7 7
97
98
#define DDRC _SFR_IO8(0x07)
99
#define DDC6 6
100
#define DDC7 7
101
102
#define PORTC _SFR_IO8(0x08)
103
#define PORTC6 6
104
#define PORTC7 7
105
106
#define PIND _SFR_IO8(0x09)
107
#define PIND0 0
108
#define PIND1 1
109
#define PIND2 2
110
#define PIND3 3
111
#define PIND4 4
112
#define PIND5 5
113
#define PIND6 6
114
#define PIND7 7
115
116
#define DDRD _SFR_IO8(0x0A)
117
#define DDD0 0
118
#define DDD1 1
119
#define DDD2 2
120
#define DDD3 3
121
#define DDD4 4
122
#define DDD5 5
123
#define DDD6 6
124
#define DDD7 7
125
126
#define PORTD _SFR_IO8(0x0B)
127
#define PORTD0 0
128
#define PORTD1 1
129
#define PORTD2 2
130
#define PORTD3 3
131
#define PORTD4 4
132
#define PORTD5 5
133
#define PORTD6 6
134
#define PORTD7 7
135
136
#define PINE _SFR_IO8(0x0C)
137
#define PINE2 2
138
#define PINE6 6
139
140
#define DDRE _SFR_IO8(0x0D)
141
#define DDE2 2
142
#define DDE6 6
143
144
#define PORTE _SFR_IO8(0x0E)
145
#define PORTE2 2
146
#define PORTE6 6
147
148
#define PINF _SFR_IO8(0x0F)
149
#define PINF0 0
150
#define PINF1 1
151
#define PINF4 4
152
#define PINF5 5
153
#define PINF6 6
154
#define PINF7 7
155
156
#define DDRF _SFR_IO8(0x10)
157
#define DDF0 0
158
#define DDF1 1
159
#define DDF4 4
160
#define DDF5 5
161
#define DDF6 6
162
#define DDF7 7
163
164
#define PORTF _SFR_IO8(0x11)
165
#define PORTF0 0
166
#define PORTF1 1
167
#define PORTF4 4
168
#define PORTF5 5
169
#define PORTF6 6
170
#define PORTF7 7
171
172
#define TIFR0 _SFR_IO8(0x15)
173
#define TOV0 0
174
#define OCF0A 1
175
#define OCF0B 2
176
177
#define TIFR1 _SFR_IO8(0x16)
178
#define TOV1 0
179
#define OCF1A 1
180
#define OCF1B 2
181
#define OCF1C 3
182
#define ICF1 5
183
184
#define TIFR2 _SFR_IO8(0x17)
185
186
#define TIFR3 _SFR_IO8(0x18)
187
#define TOV3 0
188
#define OCF3A 1
189
#define OCF3B 2
190
#define OCF3C 3
191
#define ICF3 5
192
193
#define TIFR4 _SFR_IO8(0x19)
194
#define TOV4 2
195
#define OCF4B 5
196
#define OCF4A 6
197
#define OCF4D 7
198
199
#define PCIFR _SFR_IO8(0x1B)
200
#define PCIF0 0
201
202
#define EIFR _SFR_IO8(0x1C)
203
#define INTF0 0
204
#define INTF1 1
205
#define INTF2 2
206
#define INTF3 3
207
#define INTF4 4
208
#define INTF5 5
209
#define INTF6 6
210
#define INTF7 7
211
212
#define EIMSK _SFR_IO8(0x1D)
213
#define INT0 0
214
#define INT1 1
215
#define INT2 2
216
#define INT3 3
217
#define INT4 4
218
#define INT5 5
219
#define INT6 6
220
#define INT7 7
221
222
#define GPIOR0 _SFR_IO8(0x1E)
223
#define GPIOR00 0
224
#define GPIOR01 1
225
#define GPIOR02 2
226
#define GPIOR03 3
227
#define GPIOR04 4
228
#define GPIOR05 5
229
#define GPIOR06 6
230
#define GPIOR07 7
231
232
#define EECR _SFR_IO8(0x1F)
233
#define EERE 0
234
#define EEPE 1
235
#define EEMPE 2
236
#define EERIE 3
237
#define EEPM0 4
238
#define EEPM1 5
239
240
#define EEDR _SFR_IO8(0x20)
241
#define EEDR0 0
242
#define EEDR1 1
243
#define EEDR2 2
244
#define EEDR3 3
245
#define EEDR4 4
246
#define EEDR5 5
247
#define EEDR6 6
248
#define EEDR7 7
249
250
#define EEAR _SFR_IO16(0x21)
251
252
#define EEARL _SFR_IO8(0x21)
253
#define EEAR0 0
254
#define EEAR1 1
255
#define EEAR2 2
256
#define EEAR3 3
257
#define EEAR4 4
258
#define EEAR5 5
259
#define EEAR6 6
260
#define EEAR7 7
261
262
#define EEARH _SFR_IO8(0x22)
263
#define EEAR8 0
264
#define EEAR9 1
265
#define EEAR10 2
266
#define EEAR11 3
267
268
#define GTCCR _SFR_IO8(0x23)
269
#define PSRSYNC 0
270
#define TSM 7
271
272
#define TCCR0A _SFR_IO8(0x24)
273
#define WGM00 0
274
#define WGM01 1
275
#define COM0B0 4
276
#define COM0B1 5
277
#define COM0A0 6
278
#define COM0A1 7
279
280
#define TCCR0B _SFR_IO8(0x25)
281
#define CS00 0
282
#define CS01 1
283
#define CS02 2
284
#define WGM02 3
285
#define FOC0B 6
286
#define FOC0A 7
287
288
#define TCNT0 _SFR_IO8(0x26)
289
#define TCNT0_0 0
290
#define TCNT0_1 1
291
#define TCNT0_2 2
292
#define TCNT0_3 3
293
#define TCNT0_4 4
294
#define TCNT0_5 5
295
#define TCNT0_6 6
296
#define TCNT0_7 7
297
298
#define OCR0A _SFR_IO8(0x27)
299
#define OCROA_0 0
300
#define OCROA_1 1
301
#define OCROA_2 2
302
#define OCROA_3 3
303
#define OCROA_4 4
304
#define OCROA_5 5
305
#define OCROA_6 6
306
#define OCROA_7 7
307
308
#define OCR0B _SFR_IO8(0x28)
309
#define OCR0B_0 0
310
#define OCR0B_1 1
311
#define OCR0B_2 2
312
#define OCR0B_3 3
313
#define OCR0B_4 4
314
#define OCR0B_5 5
315
#define OCR0B_6 6
316
#define OCR0B_7 7
317
318
#define PLLCSR _SFR_IO8(0x29)
319
#define PLOCK 0
320
#define PLLE 1
321
#define PINDIV 4
322
323
#define GPIOR1 _SFR_IO8(0x2A)
324
#define GPIOR10 0
325
#define GPIOR11 1
326
#define GPIOR12 2
327
#define GPIOR13 3
328
#define GPIOR14 4
329
#define GPIOR15 5
330
#define GPIOR16 6
331
#define GPIOR17 7
332
333
#define GPIOR2 _SFR_IO8(0x2B)
334
#define GPIOR20 0
335
#define GPIOR21 1
336
#define GPIOR22 2
337
#define GPIOR23 3
338
#define GPIOR24 4
339
#define GPIOR25 5
340
#define GPIOR26 6
341
#define GPIOR27 7
342
343
#define SPCR _SFR_IO8(0x2C)
344
#define SPR0 0
345
#define SPR1 1
346
#define CPHA 2
347
#define CPOL 3
348
#define MSTR 4
349
#define DORD 5
350
#define SPE 6
351
#define SPIE 7
352
353
#define SPSR _SFR_IO8(0x2D)
354
#define SPI2X 0
355
#define WCOL 6
356
#define SPIF 7
357
358
#define SPDR _SFR_IO8(0x2E)
359
#define SPDR0 0
360
#define SPDR1 1
361
#define SPDR2 2
362
#define SPDR3 3
363
#define SPDR4 4
364
#define SPDR5 5
365
#define SPDR6 6
366
#define SPDR7 7
367
368
#define ACSR _SFR_IO8(0x30)
369
#define ACIS0 0
370
#define ACIS1 1
371
#define ACIC 2
372
#define ACIE 3
373
#define ACI 4
374
#define ACO 5
375
#define ACBG 6
376
#define ACD 7
377
378
#define OCDR _SFR_IO8(0x31)
379
#define OCDR0 0
380
#define OCDR1 1
381
#define OCDR2 2
382
#define OCDR3 3
383
#define OCDR4 4
384
#define OCDR5 5
385
#define OCDR6 6
386
#define OCDR7 7
387
388
#define PLLFRQ _SFR_IO8(0x32)
389
#define PDIV0 0
390
#define PDIV1 1
391
#define PDIV2 2
392
#define PDIV3 3
393
#define PLLTM0 4
394
#define PLLTM1 5
395
#define PLLUSB 6
396
#define PINMUX 7
397
398
#define SMCR _SFR_IO8(0x33)
399
#define SE 0
400
#define SM0 1
401
#define SM1 2
402
#define SM2 3
403
404
#define MCUSR _SFR_IO8(0x34)
405
#define PORF 0
406
#define EXTRF 1
407
#define BORF 2
408
#define WDRF 3
409
#define JTRF 4
410
411
#define MCUCR _SFR_IO8(0x35)
412
#define IVCE 0
413
#define IVSEL 1
414
#define PUD 4
415
#define JTD 7
416
417
#define SPMCSR _SFR_IO8(0x37)
418
#define SPMEN 0
419
#define PGERS 1
420
#define PGWRT 2
421
#define BLBSET 3
422
#define RWWSRE 4
423
#define SIGRD 5
424
#define RWWSB 6
425
#define SPMIE 7
426
427
#define RAMPZ _SFR_IO8(0x3B)
428
#define RAMPZ0 0
429
430
#define EIND _SFR_IO8(0x3C)
431
#define EIND0 0
432
433
#define WDTCSR _SFR_MEM8(0x60)
434
#define WDP0 0
435
#define WDP1 1
436
#define WDP2 2
437
#define WDE 3
438
#define WDCE 4
439
#define WDP3 5
440
#define WDIE 6
441
#define WDIF 7
442
443
#define CLKPR _SFR_MEM8(0x61)
444
#define CLKPS0 0
445
#define CLKPS1 1
446
#define CLKPS2 2
447
#define CLKPS3 3
448
#define CLKPCE 7
449
450
#define PRR0 _SFR_MEM8(0x64)
451
#define PRADC 0
452
#define PRUSART0 1
453
#define PRSPI 2
454
#define PRTIM1 3
455
#define PRTIM0 5
456
#define PRTIM2 6
457
#define PRTWI 7
458
459
#define PRR1 _SFR_MEM8(0x65)
460
#define PRUSART1 0
461
#define PRTIM3 3
462
#define PRUSB 7
463
464
#define OSCCAL _SFR_MEM8(0x66)
465
#define CAL0 0
466
#define CAL1 1
467
#define CAL2 2
468
#define CAL3 3
469
#define CAL4 4
470
#define CAL5 5
471
#define CAL6 6
472
#define CAL7 7
473
474
#define RCCTRL _SFR_MEM8(0x67)
475
#define RCFREQ 0
476
477
#define PCICR _SFR_MEM8(0x68)
478
#define PCIE0 0
479
480
#define EICRA _SFR_MEM8(0x69)
481
#define ISC00 0
482
#define ISC01 1
483
#define ISC10 2
484
#define ISC11 3
485
#define ISC20 4
486
#define ISC21 5
487
#define ISC30 6
488
#define ISC31 7
489
490
#define EICRB _SFR_MEM8(0x6A)
491
#define ISC40 0
492
#define ISC41 1
493
#define ISC50 2
494
#define ISC51 3
495
#define ISC60 4
496
#define ISC61 5
497
#define ISC70 6
498
#define ISC71 7
499
500
#define PCMSK0 _SFR_MEM8(0x6B)
501
#define PCINT0 0
502
#define PCINT1 1
503
#define PCINT2 2
504
#define PCINT3 3
505
#define PCINT4 4
506
#define PCINT5 5
507
#define PCINT6 6
508
#define PCINT7 7
509
510
#define TIMSK0 _SFR_MEM8(0x6E)
511
#define TOIE0 0
512
#define OCIE0A 1
513
#define OCIE0B 2
514
515
#define TIMSK1 _SFR_MEM8(0x6F)
516
#define TOIE1 0
517
#define OCIE1A 1
518
#define OCIE1B 2
519
#define OCIE1C 3
520
#define ICIE1 5
521
522
#define TIMSK3 _SFR_MEM8(0x71)
523
#define TOIE3 0
524
#define OCIE3A 1
525
#define OCIE3B 2
526
#define OCIE3C 3
527
#define ICIE3 5
528
529
#define TIMSK4 _SFR_MEM8(0x72)
530
#define TOIE4 2
531
#define OCIE4B 5
532
#define OCIE4A 6
533
#define OCIE4D 7
534
535
#ifndef __ASSEMBLER__
536
#define ADC _SFR_MEM16(0x78)
537
#endif
538
#define ADCW _SFR_MEM16(0x78)
539
540
#define ADCL _SFR_MEM8(0x78)
541
#define ADCL0 0
542
#define ADCL1 1
543
#define ADCL2 2
544
#define ADCL3 3
545
#define ADCL4 4
546
#define ADCL5 5
547
#define ADCL6 6
548
#define ADCL7 7
549
550
#define ADCH _SFR_MEM8(0x79)
551
#define ADCH0 0
552
#define ADCH1 1
553
#define ADCH2 2
554
#define ADCH3 3
555
#define ADCH4 4
556
#define ADCH5 5
557
#define ADCH6 6
558
#define ADCH7 7
559
560
#define ADCSRA _SFR_MEM8(0x7A)
561
#define ADPS0 0
562
#define ADPS1 1
563
#define ADPS2 2
564
#define ADIE 3
565
#define ADIF 4
566
#define ADATE 5
567
#define ADSC 6
568
#define ADEN 7
569
570
#define ADCSRB _SFR_MEM8(0x7B)
571
#define ADTS0 0
572
#define ADTS1 1
573
#define ADTS2 2
574
#define ADTS3 4
575
#define MUX5 5
576
#define ACME 6
577
#define ADHSM 7
578
579
#define ADMUX _SFR_MEM8(0x7C)
580
#define MUX0 0
581
#define MUX1 1
582
#define MUX2 2
583
#define MUX3 3
584
#define MUX4 4
585
#define ADLAR 5
586
#define REFS0 6
587
#define REFS1 7
588
589
#define DIDR2 _SFR_MEM8(0x7D)
590
#define ADC8D 0
591
#define ADC9D 1
592
#define ADC10D 2
593
#define ADC11D 3
594
#define ADC12D 4
595
#define ADC13D 5
596
597
#define DIDR0 _SFR_MEM8(0x7E)
598
#define ADC0D 0
599
#define ADC1D 1
600
#define ADC2D 2
601
#define ADC3D 3
602
#define ADC4D 4
603
#define ADC5D 5
604
#define ADC6D 6
605
#define ADC7D 7
606
607
#define DIDR1 _SFR_MEM8(0x7F)
608
#define AIN0D 0
609
#define AIN1D 1
610
611
#define TCCR1A _SFR_MEM8(0x80)
612
#define WGM10 0
613
#define WGM11 1
614
#define COM1C0 2
615
#define COM1C1 3
616
#define COM1B0 4
617
#define COM1B1 5
618
#define COM1A0 6
619
#define COM1A1 7
620
621
#define TCCR1B _SFR_MEM8(0x81)
622
#define CS10 0
623
#define CS11 1
624
#define CS12 2
625
#define WGM12 3
626
#define WGM13 4
627
#define ICES1 6
628
#define ICNC1 7
629
630
#define TCCR1C _SFR_MEM8(0x82)
631
#define FOC1C 5
632
#define FOC1B 6
633
#define FOC1A 7
634
635
#define TCNT1 _SFR_MEM16(0x84)
636
637
#define TCNT1L _SFR_MEM8(0x84)
638
#define TCNT1L0 0
639
#define TCNT1L1 1
640
#define TCNT1L2 2
641
#define TCNT1L3 3
642
#define TCNT1L4 4
643
#define TCNT1L5 5
644
#define TCNT1L6 6
645
#define TCNT1L7 7
646
647
#define TCNT1H _SFR_MEM8(0x85)
648
#define TCNT1H0 0
649
#define TCNT1H1 1
650
#define TCNT1H2 2
651
#define TCNT1H3 3
652
#define TCNT1H4 4
653
#define TCNT1H5 5
654
#define TCNT1H6 6
655
#define TCNT1H7 7
656
657
#define ICR1 _SFR_MEM16(0x86)
658
659
#define ICR1L _SFR_MEM8(0x86)
660
#define ICR1L0 0
661
#define ICR1L1 1
662
#define ICR1L2 2
663
#define ICR1L3 3
664
#define ICR1L4 4
665
#define ICR1L5 5
666
#define ICR1L6 6
667
#define ICR1L7 7
668
669
#define ICR1H _SFR_MEM8(0x87)
670
#define ICR1H0 0
671
#define ICR1H1 1
672
#define ICR1H2 2
673
#define ICR1H3 3
674
#define ICR1H4 4
675
#define ICR1H5 5
676
#define ICR1H6 6
677
#define ICR1H7 7
678
679
#define OCR1A _SFR_MEM16(0x88)
680
681
#define OCR1AL _SFR_MEM8(0x88)
682
#define OCR1AL0 0
683
#define OCR1AL1 1
684
#define OCR1AL2 2
685
#define OCR1AL3 3
686
#define OCR1AL4 4
687
#define OCR1AL5 5
688
#define OCR1AL6 6
689
#define OCR1AL7 7
690
691
#define OCR1AH _SFR_MEM8(0x89)
692
#define OCR1AH0 0
693
#define OCR1AH1 1
694
#define OCR1AH2 2
695
#define OCR1AH3 3
696
#define OCR1AH4 4
697
#define OCR1AH5 5
698
#define OCR1AH6 6
699
#define OCR1AH7 7
700
701
#define OCR1B _SFR_MEM16(0x8A)
702
703
#define OCR1BL _SFR_MEM8(0x8A)
704
#define OCR1BL0 0
705
#define OCR1BL1 1
706
#define OCR1BL2 2
707
#define OCR1BL3 3
708
#define OCR1BL4 4
709
#define OCR1BL5 5
710
#define OCR1BL6 6
711
#define OCR1BL7 7
712
713
#define OCR1BH _SFR_MEM8(0x8B)
714
#define OCR1BH0 0
715
#define OCR1BH1 1
716
#define OCR1BH2 2
717
#define OCR1BH3 3
718
#define OCR1BH4 4
719
#define OCR1BH5 5
720
#define OCR1BH6 6
721
#define OCR1BH7 7
722
723
#define OCR1C _SFR_MEM16(0x8C)
724
725
#define OCR1CL _SFR_MEM8(0x8C)
726
#define OCR1CL0 0
727
#define OCR1CL1 1
728
#define OCR1CL2 2
729
#define OCR1CL3 3
730
#define OCR1CL4 4
731
#define OCR1CL5 5
732
#define OCR1CL6 6
733
#define OCR1CL7 7
734
735
#define OCR1CH _SFR_MEM8(0x8D)
736
#define OCR1CH0 0
737
#define OCR1CH1 1
738
#define OCR1CH2 2
739
#define OCR1CH3 3
740
#define OCR1CH4 4
741
#define OCR1CH5 5
742
#define OCR1CH6 6
743
#define OCR1CH7 7
744
745
#define TCCR3A _SFR_MEM8(0x90)
746
#define WGM30 0
747
#define WGM31 1
748
#define COM3C0 2
749
#define COM3C1 3
750
#define COM3B0 4
751
#define COM3B1 5
752
#define COM3A0 6
753
#define COM3A1 7
754
755
#define TCCR3B _SFR_MEM8(0x91)
756
#define CS30 0
757
#define CS31 1
758
#define CS32 2
759
#define WGM32 3
760
#define WGM33 4
761
#define ICES3 6
762
#define ICNC3 7
763
764
#define TCCR3C _SFR_MEM8(0x92)
765
#define FOC3C 5
766
#define FOC3B 6
767
#define FOC3A 7
768
769
#define TCNT3 _SFR_MEM16(0x94)
770
771
#define TCNT3L _SFR_MEM8(0x94)
772
#define TCNT3L0 0
773
#define TCNT3L1 1
774
#define TCNT3L2 2
775
#define TCNT3L3 3
776
#define TCNT3L4 4
777
#define TCNT3L5 5
778
#define TCNT3L6 6
779
#define TCNT3L7 7
780
781
#define TCNT3H _SFR_MEM8(0x95)
782
#define TCNT3H0 0
783
#define TCNT3H1 1
784
#define TCNT3H2 2
785
#define TCNT3H3 3
786
#define TCNT3H4 4
787
#define TCNT3H5 5
788
#define TCNT3H6 6
789
#define TCNT3H7 7
790
791
#define ICR3 _SFR_MEM16(0x96)
792
793
#define ICR3L _SFR_MEM8(0x96)
794
#define ICR3L0 0
795
#define ICR3L1 1
796
#define ICR3L2 2
797
#define ICR3L3 3
798
#define ICR3L4 4
799
#define ICR3L5 5
800
#define ICR3L6 6
801
#define ICR3L7 7
802
803
#define ICR3H _SFR_MEM8(0x97)
804
#define ICR3H0 0
805
#define ICR3H1 1
806
#define ICR3H2 2
807
#define ICR3H3 3
808
#define ICR3H4 4
809
#define ICR3H5 5
810
#define ICR3H6 6
811
#define ICR3H7 7
812
813
#define OCR3A _SFR_MEM16(0x98)
814
815
#define OCR3AL _SFR_MEM8(0x98)
816
#define OCR3AL0 0
817
#define OCR3AL1 1
818
#define OCR3AL2 2
819
#define OCR3AL3 3
820
#define OCR3AL4 4
821
#define OCR3AL5 5
822
#define OCR3AL6 6
823
#define OCR3AL7 7
824
825
#define OCR3AH _SFR_MEM8(0x99)
826
#define OCR3AH0 0
827
#define OCR3AH1 1
828
#define OCR3AH2 2
829
#define OCR3AH3 3
830
#define OCR3AH4 4
831
#define OCR3AH5 5
832
#define OCR3AH6 6
833
#define OCR3AH7 7
834
835
#define OCR3B _SFR_MEM16(0x9A)
836
837
#define OCR3BL _SFR_MEM8(0x9A)
838
#define OCR3BL0 0
839
#define OCR3BL1 1
840
#define OCR3BL2 2
841
#define OCR3BL3 3
842
#define OCR3BL4 4
843
#define OCR3BL5 5
844
#define OCR3BL6 6
845
#define OCR3BL7 7
846
847
#define OCR3BH _SFR_MEM8(0x9B)
848
#define OCR3BH0 0
849
#define OCR3BH1 1
850
#define OCR3BH2 2
851
#define OCR3BH3 3
852
#define OCR3BH4 4
853
#define OCR3BH5 5
854
#define OCR3BH6 6
855
#define OCR3BH7 7
856
857
#define OCR3C _SFR_MEM16(0x9C)
858
859
#define OCR3CL _SFR_MEM8(0x9C)
860
#define OCR3CL0 0
861
#define OCR3CL1 1
862
#define OCR3CL2 2
863
#define OCR3CL3 3
864
#define OCR3CL4 4
865
#define OCR3CL5 5
866
#define OCR3CL6 6
867
#define OCR3CL7 7
868
869
#define OCR3CH _SFR_MEM8(0x9D)
870
#define OCR3CH0 0
871
#define OCR3CH1 1
872
#define OCR3CH2 2
873
#define OCR3CH3 3
874
#define OCR3CH4 4
875
#define OCR3CH5 5
876
#define OCR3CH6 6
877
#define OCR3CH7 7
878
879
#define TCNT4 _SFR_MEM8(0xBE)
880
#define TC40 0
881
#define TC41 1
882
#define TC42 2
883
#define TC43 3
884
#define TC44 4
885
#define TC45 5
886
#define TC46 6
887
#define TC47 7
888
889
#define TC4H _SFR_MEM8(0xBF)
890
#define TC48 0
891
#define TC49 1
892
#define TC410 2
893
894
#define TCCR4A _SFR_MEM8(0xC0)
895
#define PWM4B 0
896
#define PWM4A 1
897
#define FOC4B 2
898
#define FOC4A 3
899
#define COM4B0 4
900
#define COM4B1 5
901
#define COM4A0 6
902
#define COM4A1 7
903
904
#define TCCR4B _SFR_MEM8(0xC1)
905
#define CS40 0
906
#define CS41 1
907
#define CS42 2
908
#define CS43 3
909
#define DTPS40 4
910
#define DTPS41 5
911
#define PSR4 6
912
#define PWM4X 7
913
914
#define TCCR4C _SFR_MEM8(0xC2)
915
#define PWM4D 0
916
#define FOC4D 1
917
#define COM4D0 2
918
#define COM4D1 3
919
#define COM4B0S 4
920
#define COM4B1S 5
921
#define COM4A0S 6
922
#define COM4A1S 7
923
924
#define TCCR4D _SFR_MEM8(0xC3)
925
#define WGM40 0
926
#define WGM41 1
927
#define FPF4 2
928
#define FPAC4 3
929
#define FPES4 4
930
#define FPNC4 5
931
#define FPEN4 6
932
#define FPIE4 7
933
934
#define TCCR4E _SFR_MEM8(0xC4)
935
#define OC4OE0 0
936
#define OC4OE1 1
937
#define OC4OE2 2
938
#define OC4OE3 3
939
#define OC4OE4 4
940
#define OC4OE5 5
941
#define ENHC4 6
942
#define TLOCK4 7
943
944
#define CLKSEL0 _SFR_MEM8(0xC5)
945
#define CLKS 0
946
#define EXTE 2
947
#define RCE 3
948
#define EXSUT0 4
949
#define EXSUT1 5
950
#define RCSUT0 6
951
#define RCSUT1 7
952
953
#define CLKSEL1 _SFR_MEM8(0xC6)
954
#define EXCKSEL0 0
955
#define EXCKSEL1 1
956
#define EXCKSEL2 2
957
#define EXCKSEL3 3
958
#define RCCKSEL0 4
959
#define RCCKSEL1 5
960
#define RCCKSEL2 6
961
#define RCCKSEL3 7
962
963
#define CLKSTA _SFR_MEM8(0xC7)
964
#define EXTON 0
965
#define RCON 1
966
967
#define UCSR1A _SFR_MEM8(0xC8)
968
#define MPCM1 0
969
#define U2X1 1
970
#define UPE1 2
971
#define DOR1 3
972
#define FE1 4
973
#define UDRE1 5
974
#define TXC1 6
975
#define RXC1 7
976
977
#define UCSR1B _SFR_MEM8(0xC9)
978
#define TXB81 0
979
#define RXB81 1
980
#define UCSZ12 2
981
#define TXEN1 3
982
#define RXEN1 4
983
#define UDRIE1 5
984
#define TXCIE1 6
985
#define RXCIE1 7
986
987
#define UCSR1C _SFR_MEM8(0xCA)
988
#define UCPOL1 0
989
#define UCSZ10 1
990
#define UCSZ11 2
991
#define USBS1 3
992
#define UPM10 4
993
#define UPM11 5
994
#define UMSEL10 6
995
#define UMSEL11 7
996
997
#define UBRR1 _SFR_MEM16(0xCC)
998
999
#define UBRR1L _SFR_MEM8(0xCC)
1000
1001
#define UBRR1H _SFR_MEM8(0xCD)
1002
1003
#define UDR1 _SFR_MEM8(0xCE)
1004
#define UDR1_0 0
1005
#define UDR1_1 1
1006
#define UDR1_2 2
1007
#define UDR1_3 3
1008
#define UDR1_4 4
1009
#define UDR1_5 5
1010
#define UDR1_6 6
1011
#define UDR1_7 7
1012
1013
#define OCR4A _SFR_MEM8(0xCF)
1014
#define OCR4A0 0
1015
#define OCR4A1 1
1016
#define OCR4A2 2
1017
#define OCR4A3 3
1018
#define OCR4A4 4
1019
#define OCR4A5 5
1020
#define OCR4A6 6
1021
#define OCR4A7 7
1022
1023
#define OCR4B _SFR_MEM8(0xD0)
1024
#define OCR4B0 0
1025
#define OCR4B1 1
1026
#define OCR4B2 2
1027
#define OCR4B3 3
1028
#define OCR4B4 4
1029
#define OCR4B5 5
1030
#define OCR4B6 6
1031
#define OCR4B7 7
1032
1033
#define OCR4C _SFR_MEM8(0xD1)
1034
#define OCR4C0 0
1035
#define OCR4C1 1
1036
#define OCR4C2 2
1037
#define OCR4C3 3
1038
#define OCR4C4 4
1039
#define OCR4C5 5
1040
#define OCR4C6 6
1041
#define OCR4C7 7
1042
1043
#define OCR4D _SFR_MEM8(0xD2)
1044
#define OCR4D0 0
1045
#define OCR4D1 1
1046
#define OCR4D2 2
1047
#define OCR4D3 3
1048
#define OCR4D4 4
1049
#define OCR4D5 5
1050
#define OCR4D6 6
1051
#define OCR4D7 7
1052
1053
#define DT4 _SFR_MEM8(0xD4)
1054
#define DT4L0 0
1055
#define DT4L1 1
1056
#define DT4L2 2
1057
#define DT4L3 3
1058
#define DT4L4 4
1059
#define DT4L5 5
1060
#define DT4L6 6
1061
#define DT4L7 7
1062
1063
#define UHWCON _SFR_MEM8(0xD7)
1064
#define UVREGE 0
1065
1066
#define USBCON _SFR_MEM8(0xD8)
1067
#define VBUSTE 0
1068
#define OTGPADE 4
1069
#define FRZCLK 5
1070
#define USBE 7
1071
1072
#define USBSTA _SFR_MEM8(0xD9)
1073
#define VBUS 0
1074
#define SPEED 3
1075
1076
#define USBINT _SFR_MEM8(0xDA)
1077
#define VBUSTI 0
1078
1079
#define UDCON _SFR_MEM8(0xE0)
1080
#define DETACH 0
1081
#define RMWKUP 1
1082
#define LSM 2
1083
#define RSTCPU 3
1084
1085
#define UDINT _SFR_MEM8(0xE1)
1086
#define SUSPI 0
1087
#define SOFI 2
1088
#define EORSTI 3
1089
#define WAKEUPI 4
1090
#define EORSMI 5
1091
#define UPRSMI 6
1092
1093
#define UDIEN _SFR_MEM8(0xE2)
1094
#define SUSPE 0
1095
#define SOFE 2
1096
#define EORSTE 3
1097
#define WAKEUPE 4
1098
#define EORSME 5
1099
#define UPRSME 6
1100
1101
#define UDADDR _SFR_MEM8(0xE3)
1102
#define UADD0 0
1103
#define UADD1 1
1104
#define UADD2 2
1105
#define UADD3 3
1106
#define UADD4 4
1107
#define UADD5 5
1108
#define UADD6 6
1109
#define ADDEN 7
1110
1111
#define UDFNUM _SFR_MEM16(0xE4)
1112
1113
#define UDFNUML _SFR_MEM8(0xE4)
1114
#define FNUM0 0
1115
#define FNUM1 1
1116
#define FNUM2 2
1117
#define FNUM3 3
1118
#define FNUM4 4
1119
#define FNUM5 5
1120
#define FNUM6 6
1121
#define FNUM7 7
1122
1123
#define UDFNUMH _SFR_MEM8(0xE5)
1124
#define FNUM8 0
1125
#define FNUM9 1
1126
#define FNUM10 2
1127
1128
#define UDMFN _SFR_MEM8(0xE6)
1129
#define FNCERR 4
1130
1131
#define UEINTX _SFR_MEM8(0xE8)
1132
#define TXINI 0
1133
#define STALLEDI 1
1134
#define RXOUTI 2
1135
#define RXSTPI 3
1136
#define NAKOUTI 4
1137
#define RWAL 5
1138
#define NAKINI 6
1139
#define FIFOCON 7
1140
1141
#define UENUM _SFR_MEM8(0xE9)
1142
#define UENUM_0 0
1143
#define UENUM_1 1
1144
#define UENUM_2 2
1145
1146
#define UERST _SFR_MEM8(0xEA)
1147
#define EPRST0 0
1148
#define EPRST1 1
1149
#define EPRST2 2
1150
#define EPRST3 3
1151
#define EPRST4 4
1152
#define EPRST5 5
1153
#define EPRST6 6
1154
1155
#define UECONX _SFR_MEM8(0xEB)
1156
#define EPEN 0
1157
#define RSTDT 3
1158
#define STALLRQC 4
1159
#define STALLRQ 5
1160
1161
#define UECFG0X _SFR_MEM8(0xEC)
1162
#define EPDIR 0
1163
#define EPTYPE0 6
1164
#define EPTYPE1 7
1165
1166
#define UECFG1X _SFR_MEM8(0xED)
1167
#define ALLOC 1
1168
#define EPBK0 2
1169
#define EPBK1 3
1170
#define EPSIZE0 4
1171
#define EPSIZE1 5
1172
#define EPSIZE2 6
1173
1174
#define UESTA0X _SFR_MEM8(0xEE)
1175
#define NBUSYBK0 0
1176
#define NBUSYBK1 1
1177
#define DTSEQ0 2
1178
#define DTSEQ1 3
1179
#define UNDERFI 5
1180
#define OVERFI 6
1181
#define CFGOK 7
1182
1183
#define UESTA1X _SFR_MEM8(0xEF)
1184
#define CURRBK0 0
1185
#define CURRBK1 1
1186
#define CTRLDIR 2
1187
1188
#define UEIENX _SFR_MEM8(0xF0)
1189
#define TXINE 0
1190
#define STALLEDE 1
1191
#define RXOUTE 2
1192
#define RXSTPE 3
1193
#define NAKOUTE 4
1194
#define NAKINE 6
1195
#define FLERRE 7
1196
1197
#define UEDATX _SFR_MEM8(0xF1)
1198
#define DAT0 0
1199
#define DAT1 1
1200
#define DAT2 2
1201
#define DAT3 3
1202
#define DAT4 4
1203
#define DAT5 5
1204
#define DAT6 6
1205
#define DAT7 7
1206
1207
#define UEBCLX _SFR_MEM8(0xF2)
1208
#define BYCT0 0
1209
#define BYCT1 1
1210
#define BYCT2 2
1211
#define BYCT3 3
1212
#define BYCT4 4
1213
#define BYCT5 5
1214
#define BYCT6 6
1215
#define BYCT7 7
1216
1217
#define UEBCHX _SFR_MEM8(0xF3)
1218
1219
#define UEINT _SFR_MEM8(0xF4)
1220
#define EPINT0 0
1221
#define EPINT1 1
1222
#define EPINT2 2
1223
#define EPINT3 3
1224
#define EPINT4 4
1225
#define EPINT5 5
1226
#define EPINT6 6
1227
1228
1229
/* Interrupt vectors */
1230
/* Vector 0 is the reset vector */
1231
#define INT0_vect_num 1
1232
#define INT0_vect _VECTOR(1)
/* External Interrupt Request 0 */
1233
#define INT1_vect_num 2
1234
#define INT1_vect _VECTOR(2)
/* External Interrupt Request 1 */
1235
#define INT2_vect_num 3
1236
#define INT2_vect _VECTOR(3)
/* External Interrupt Request 2 */
1237
#define INT3_vect_num 4
1238
#define INT3_vect _VECTOR(4)
/* External Interrupt Request 3 */
1239
#define INT6_vect_num 7
1240
#define INT6_vect _VECTOR(7)
/* External Interrupt Request 6 */
1241
#define PCINT0_vect_num 9
1242
#define PCINT0_vect _VECTOR(9)
/* Pin Change Interrupt Request 0 */
1243
#define USB_GEN_vect_num 10
1244
#define USB_GEN_vect _VECTOR(10)
/* USB General Interrupt Request */
1245
#define USB_COM_vect_num 11
1246
#define USB_COM_vect _VECTOR(11)
/* USB Endpoint/Pipe Interrupt Communication Request */
1247
#define WDT_vect_num 12
1248
#define WDT_vect _VECTOR(12)
/* Watchdog Time-out Interrupt */
1249
#define TIMER1_CAPT_vect_num 16
1250
#define TIMER1_CAPT_vect _VECTOR(16)
/* Timer/Counter1 Capture Event */
1251
#define TIMER1_COMPA_vect_num 17
1252
#define TIMER1_COMPA_vect _VECTOR(17)
/* Timer/Counter1 Compare Match A */
1253
#define TIMER1_COMPB_vect_num 18
1254
#define TIMER1_COMPB_vect _VECTOR(18)
/* Timer/Counter1 Compare Match B */
1255
#define TIMER1_COMPC_vect_num 19
1256
#define TIMER1_COMPC_vect _VECTOR(19)
/* Timer/Counter1 Compare Match C */
1257
#define TIMER1_OVF_vect_num 20
1258
#define TIMER1_OVF_vect _VECTOR(20)
/* Timer/Counter1 Overflow */
1259
#define TIMER0_COMPA_vect_num 21
1260
#define TIMER0_COMPA_vect _VECTOR(21)
/* Timer/Counter0 Compare Match A */
1261
#define TIMER0_COMPB_vect_num 22
1262
#define TIMER0_COMPB_vect _VECTOR(22)
/* Timer/Counter0 Compare Match B */
1263
#define TIMER0_OVF_vect_num 23
1264
#define TIMER0_OVF_vect _VECTOR(23)
/* Timer/Counter0 Overflow */
1265
#define SPI_STC_vect_num 24
1266
#define SPI_STC_vect _VECTOR(24)
/* SPI Serial Transfer Complete */
1267
#define USART1_RX_vect_num 25
1268
#define USART1_RX_vect _VECTOR(25)
/* USART1, Rx Complete */
1269
#define USART1_UDRE_vect_num 26
1270
#define USART1_UDRE_vect _VECTOR(26)
/* USART1 Data register Empty */
1271
#define USART1_TX_vect_num 27
1272
#define USART1_TX_vect _VECTOR(27)
/* USART1, Tx Complete */
1273
#define ANALOG_COMP_vect_num 28
1274
#define ANALOG_COMP_vect _VECTOR(28)
/* Analog Comparator */
1275
#define ADC_vect_num 29
1276
#define ADC_vect _VECTOR(29)
/* ADC Conversion Complete */
1277
#define EE_READY_vect_num 30
1278
#define EE_READY_vect _VECTOR(30)
/* EEPROM Ready */
1279
#define TIMER3_CAPT_vect_num 31
1280
#define TIMER3_CAPT_vect _VECTOR(31)
/* Timer/Counter3 Capture Event */
1281
#define TIMER3_COMPA_vect_num 32
1282
#define TIMER3_COMPA_vect _VECTOR(32)
/* Timer/Counter3 Compare Match A */
1283
#define TIMER3_COMPB_vect_num 33
1284
#define TIMER3_COMPB_vect _VECTOR(33)
/* Timer/Counter3 Compare Match B */
1285
#define TIMER3_COMPC_vect_num 34
1286
#define TIMER3_COMPC_vect _VECTOR(34)
/* Timer/Counter3 Compare Match C */
1287
#define TIMER3_OVF_vect_num 35
1288
#define TIMER3_OVF_vect _VECTOR(35)
/* Timer/Counter3 Overflow */
1289
#define TWI_vect_num 36
1290
#define TWI_vect _VECTOR(36)
/* 2-wire Serial Interface */
1291
#define SPM_READY_vect_num 37
1292
#define SPM_READY_vect _VECTOR(37)
/* Store Program Memory Read */
1293
#define TIMER4_COMPA_vect_num 38
1294
#define TIMER4_COMPA_vect _VECTOR(38)
/* Timer/Counter4 Compare Match A */
1295
#define TIMER4_COMPB_vect_num 39
1296
#define TIMER4_COMPB_vect _VECTOR(39)
/* Timer/Counter4 Compare Match B */
1297
#define TIMER4_COMPD_vect_num 40
1298
#define TIMER4_COMPD_vect _VECTOR(40)
/* Timer/Counter4 Compare Match D */
1299
#define TIMER4_OVF_vect_num 41
1300
#define TIMER4_OVF_vect _VECTOR(41)
/* Timer/Counter4 Overflow */
1301
#define TIMER4_FPF_vect_num 42
1302
#define TIMER4_FPF_vect _VECTOR(42)
/* Timer/Counter4 Fault Protection Interrupt */
1303
1304
#define _VECTOR_SIZE 4
/* Size of individual vector. */
1305
#define _VECTORS_SIZE (43 * _VECTOR_SIZE)
1306
1307
1308
/* Constants */
1309
#define SPM_PAGESIZE (128)
1310
#define RAMSTART (0x100)
1311
#define RAMSIZE (1280)
1312
#define RAMEND (RAMSTART + RAMSIZE - 1)
1313
#define XRAMSTART (NA)
1314
#define XRAMSIZE (0)
1315
#define XRAMEND (RAMEND)
1316
#define E2END (0x1FF)
1317
#define E2PAGESIZE (4)
1318
#define FLASHEND (0x3FFF)
1319
1320
1321
/* Fuses */
1322
#define FUSE_MEMORY_SIZE 3
1323
1324
/* Low Fuse Byte */
1325
#define FUSE_CKSEL0 (unsigned char)~_BV(0)
/* Select Clock Source */
1326
#define FUSE_CKSEL1 (unsigned char)~_BV(1)
/* Select Clock Source */
1327
#define FUSE_CKSEL2 (unsigned char)~_BV(2)
/* Select Clock Source */
1328
#define FUSE_CKSEL3 (unsigned char)~_BV(3)
/* Select Clock Source */
1329
#define FUSE_SUT0 (unsigned char)~_BV(4)
/* Select start-up time */
1330
#define FUSE_SUT1 (unsigned char)~_BV(5)
/* Select start-up time */
1331
#define FUSE_CKOUT (unsigned char)~_BV(6)
/* Oscillator options */
1332
#define FUSE_CKDIV8 (unsigned char)~_BV(7)
/* Divide clock by 8 */
1333
#define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1)
1334
1335
/* High Fuse Byte */
1336
#define FUSE_BOOTRST (unsigned char)~_BV(0)
/* Select Reset Vector */
1337
#define FUSE_BOOTSZ0 (unsigned char)~_BV(1)
/* Select Boot Size */
1338
#define FUSE_BOOTSZ1 (unsigned char)~_BV(2)
/* Select Boot Size */
1339
#define FUSE_EESAVE (unsigned char)~_BV(3)
/* EEPROM memory is preserved through chip erase */
1340
#define FUSE_WDTON (unsigned char)~_BV(4)
/* Watchdog timer always on */
1341
#define FUSE_SPIEN (unsigned char)~_BV(5)
/* Enable Serial programming and Data Downloading */
1342
#define FUSE_JTAGEN (unsigned char)~_BV(6)
/* Enable JTAG */
1343
#define FUSE_OCDEN (unsigned char)~_BV(7)
/* Enable OCD */
1344
#define HFUSE_DEFAULT (FUSE_JTAGEN & FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0)
1345
1346
/* Extended Fuse Byte */
1347
#define FUSE_BODLEVEL0 (unsigned char)~_BV(0)
/* Brown-out Detector trigger level */
1348
#define FUSE_BODLEVEL1 (unsigned char)~_BV(1)
/* Brown-out Detector trigger level */
1349
#define FUSE_BODLEVEL2 (unsigned char)~_BV(2)
/* Brown-out Detector trigger level */
1350
#define FUSE_HWBE (unsigned char)~_BV(3)
/* Hardware Boot Enable */
1351
#define EFUSE_DEFAULT (0xFF)
1352
1353
1354
/* Lock Bits */
1355
#define __LOCK_BITS_EXIST
1356
#define __BOOT_LOCK_BITS_0_EXIST
1357
#define __BOOT_LOCK_BITS_1_EXIST
1358
1359
1360
/* Signature */
1361
#define SIGNATURE_0 0x1E
1362
#define SIGNATURE_1 0x94
1363
#define SIGNATURE_2 0x88
1364
1366
#endif
/* _AVR_ATmega16U4_H_ */
Generated by
1.8.13