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
iom32c1.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_ "iom32c1.h"
47
#else
48
# error "Attempt to include more than one <avr/ioXXX.h> file."
49
#endif
50
51
52
#ifndef _AVR_ATmega32C1_H_
53
#define _AVR_ATmega32C1_H_ 1
54
63
/* Registers and associated bit numbers. */
64
65
#define PINB _SFR_IO8(0x03)
66
#define PINB0 0
67
#define PINB1 1
68
#define PINB2 2
69
#define PINB3 3
70
#define PINB4 4
71
#define PINB5 5
72
#define PINB6 6
73
#define PINB7 7
74
75
#define DDRB _SFR_IO8(0x04)
76
#define DDB0 0
77
#define DDB1 1
78
#define DDB2 2
79
#define DDB3 3
80
#define DDB4 4
81
#define DDB5 5
82
#define DDB6 6
83
#define DDB7 7
84
85
#define PORTB _SFR_IO8(0x05)
86
#define PORTB0 0
87
#define PORTB1 1
88
#define PORTB2 2
89
#define PORTB3 3
90
#define PORTB4 4
91
#define PORTB5 5
92
#define PORTB6 6
93
#define PORTB7 7
94
95
#define PINC _SFR_IO8(0x06)
96
#define PINC0 0
97
#define PINC1 1
98
#define PINC2 2
99
#define PINC3 3
100
#define PINC4 4
101
#define PINC5 5
102
#define PINC6 6
103
#define PINC7 7
104
105
#define DDRC _SFR_IO8(0x07)
106
#define DDC0 0
107
#define DDC1 1
108
#define DDC2 2
109
#define DDC3 3
110
#define DDC4 4
111
#define DDC5 5
112
#define DDC6 6
113
#define DDC7 7
114
115
#define PORTC _SFR_IO8(0x08)
116
#define PORTC0 0
117
#define PORTC1 1
118
#define PORTC2 2
119
#define PORTC3 3
120
#define PORTC4 4
121
#define PORTC5 5
122
#define PORTC6 6
123
#define PORTC7 7
124
125
#define PIND _SFR_IO8(0x09)
126
#define PIND0 0
127
#define PIND1 1
128
#define PIND2 2
129
#define PIND3 3
130
#define PIND4 4
131
#define PIND5 5
132
#define PIND6 6
133
#define PIND7 7
134
135
#define DDRD _SFR_IO8(0x0A)
136
#define DDD0 0
137
#define DDD1 1
138
#define DDD2 2
139
#define DDD3 3
140
#define DDD4 4
141
#define DDD5 5
142
#define DDD6 6
143
#define DDD7 7
144
145
#define PORTD _SFR_IO8(0x0B)
146
#define PORTD0 0
147
#define PORTD1 1
148
#define PORTD2 2
149
#define PORTD3 3
150
#define PORTD4 4
151
#define PORTD5 5
152
#define PORTD6 6
153
#define PORTD7 7
154
155
#define PINE _SFR_IO8(0x0C)
156
#define PINE0 0
157
#define PINE1 1
158
#define PINE2 2
159
160
#define DDRE _SFR_IO8(0x0D)
161
#define DDE0 0
162
#define DDE1 1
163
#define DDE2 2
164
165
#define PORTE _SFR_IO8(0x0E)
166
#define PORTE0 0
167
#define PORTE1 1
168
#define PORTE2 2
169
170
#define TIFR0 _SFR_IO8(0x15)
171
#define TOV0 0
172
#define OCF0A 1
173
#define OCF0B 2
174
175
#define TIFR1 _SFR_IO8(0x16)
176
#define TOV1 0
177
#define OCF1A 1
178
#define OCF1B 2
179
#define ICF1 5
180
181
#define GPIOR1 _SFR_IO8(0x19)
182
#define GPIOR10 0
183
#define GPIOR11 1
184
#define GPIOR12 2
185
#define GPIOR13 3
186
#define GPIOR14 4
187
#define GPIOR15 5
188
#define GPIOR16 6
189
#define GPIOR17 7
190
191
#define GPIOR2 _SFR_IO8(0x1A)
192
#define GPIOR20 0
193
#define GPIOR21 1
194
#define GPIOR22 2
195
#define GPIOR23 3
196
#define GPIOR24 4
197
#define GPIOR25 5
198
#define GPIOR26 6
199
#define GPIOR27 7
200
201
#define PCIFR _SFR_IO8(0x1B)
202
#define PCIF0 0
203
#define PCIF1 1
204
#define PCIF2 2
205
#define PCIF3 3
206
207
#define EIFR _SFR_IO8(0x1C)
208
#define INTF0 0
209
#define INTF1 1
210
#define INTF2 2
211
#define INTF3 3
212
213
#define EIMSK _SFR_IO8(0x1D)
214
#define INT0 0
215
#define INT1 1
216
#define INT2 2
217
#define INT3 3
218
219
#define GPIOR0 _SFR_IO8(0x1E)
220
#define GPIOR00 0
221
#define GPIOR01 1
222
#define GPIOR02 2
223
#define GPIOR03 3
224
#define GPIOR04 4
225
#define GPIOR05 5
226
#define GPIOR06 6
227
#define GPIOR07 7
228
229
#define EECR _SFR_IO8(0x1F)
230
#define EERE 0
231
#define EEWE 1
232
#define EEMWE 2
233
#define EERIE 3
234
#define EEPM0 4
235
#define EEPM1 5
236
237
#define EEDR _SFR_IO8(0x20)
238
#define EEDR0 0
239
#define EEDR1 1
240
#define EEDR2 2
241
#define EEDR3 3
242
#define EEDR4 4
243
#define EEDR5 5
244
#define EEDR6 6
245
#define EEDR7 7
246
247
#define EEAR _SFR_IO16(0x21)
248
249
#define EEARL _SFR_IO8(0x21)
250
#define EEAR0 0
251
#define EEAR1 1
252
#define EEAR2 2
253
#define EEAR3 3
254
#define EEAR4 4
255
#define EEAR5 5
256
#define EEAR6 6
257
#define EEAR7 7
258
259
#define EEARH _SFR_IO8(0x22)
260
#define EEAR8 0
261
#define EEAR9 1
262
263
#define GTCCR _SFR_IO8(0x23)
264
#define PSR10 0
265
#define PSRSYNC 0
266
#define ICPSEL1 6
267
#define TSM 7
268
269
#define TCCR0A _SFR_IO8(0x24)
270
#define WGM00 0
271
#define WGM01 1
272
#define COM0B0 4
273
#define COM0B1 5
274
#define COM0A0 6
275
#define COM0A1 7
276
277
#define TCCR0B _SFR_IO8(0x25)
278
#define CS00 0
279
#define CS01 1
280
#define CS02 2
281
#define WGM02 3
282
#define FOC0B 6
283
#define FOC0A 7
284
285
#define TCNT0 _SFR_IO8(0x26)
286
#define TCNT0_0 0
287
#define TCNT0_1 1
288
#define TCNT0_2 2
289
#define TCNT0_3 3
290
#define TCNT0_4 4
291
#define TCNT0_5 5
292
#define TCNT0_6 6
293
#define TCNT0_7 7
294
295
#define OCR0A _SFR_IO8(0x27)
296
#define OCR0A_0 0
297
#define OCR0A_1 1
298
#define OCR0A_2 2
299
#define OCR0A_3 3
300
#define OCR0A_4 4
301
#define OCR0A_5 5
302
#define OCR0A_6 6
303
#define OCR0A_7 7
304
305
#define OCR0B _SFR_IO8(0x28)
306
#define OCR0B_0 0
307
#define OCR0B_1 1
308
#define OCR0B_2 2
309
#define OCR0B_3 3
310
#define OCR0B_4 4
311
#define OCR0B_5 5
312
#define OCR0B_6 6
313
#define OCR0B_7 7
314
315
#define PLLCSR _SFR_IO8(0x29)
316
#define PLOCK 0
317
#define PLLE 1
318
#define PLLF 2
319
320
#define SPCR _SFR_IO8(0x2C)
321
#define SPR0 0
322
#define SPR1 1
323
#define CPHA 2
324
#define CPOL 3
325
#define MSTR 4
326
#define DORD 5
327
#define SPE 6
328
#define SPIE 7
329
330
#define SPSR _SFR_IO8(0x2D)
331
#define SPI2X 0
332
#define WCOL 6
333
#define SPIF 7
334
335
#define SPDR _SFR_IO8(0x2E)
336
#define SPDR0 0
337
#define SPDR1 1
338
#define SPDR2 2
339
#define SPDR3 3
340
#define SPDR4 4
341
#define SPDR5 5
342
#define SPDR6 6
343
#define SPDR7 7
344
345
#define ACSR _SFR_IO8(0x30)
346
#define AC0O 0
347
#define AC1O 1
348
#define AC2O 2
349
#define AC3O 3
350
#define AC0IF 4
351
#define AC1IF 5
352
#define AC2IF 6
353
#define AC3IF 7
354
355
#define DWDR _SFR_IO8(0x31)
356
357
#define SMCR _SFR_IO8(0x33)
358
#define SE 0
359
#define SM0 1
360
#define SM1 2
361
#define SM2 3
362
363
#define MCUSR _SFR_IO8(0x34)
364
#define PORF 0
365
#define EXTRF 1
366
#define BORF 2
367
#define WDRF 3
368
369
#define MCUCR _SFR_IO8(0x35)
370
#define IVCE 0
371
#define IVSEL 1
372
#define PUD 4
373
#define SPIPS 7
374
375
#define SPMCSR _SFR_IO8(0x37)
376
#define SPMEN 0
377
#define PGERS 1
378
#define PGWRT 2
379
#define BLBSET 3
380
#define RWWSRE 4
381
#define SIGRD 5
382
#define RWWSB 6
383
#define SPMIE 7
384
385
#define WDTCSR _SFR_MEM8(0x60)
386
#define WDP0 0
387
#define WDP1 1
388
#define WDP2 2
389
#define WDE 3
390
#define WDCE 4
391
#define WDP3 5
392
#define WDIE 6
393
#define WDIF 7
394
395
#define CLKPR _SFR_MEM8(0x61)
396
#define CLKPS0 0
397
#define CLKPS1 1
398
#define CLKPS2 2
399
#define CLKPS3 3
400
#define CLKPCE 7
401
402
#define PRR _SFR_MEM8(0x64)
403
#define PRADC 0
404
#define PRLIN 1
405
#define PRSPI 2
406
#define PRTIM0 3
407
#define PRTIM1 4
408
#define PRPSC 5
409
#define PRCAN 6
410
411
#define OSCCAL _SFR_MEM8(0x66)
412
#define CAL0 0
413
#define CAL1 1
414
#define CAL2 2
415
#define CAL3 3
416
#define CAL4 4
417
#define CAL5 5
418
#define CAL6 6
419
420
#define PCICR _SFR_MEM8(0x68)
421
#define PCIE0 0
422
#define PCIE1 1
423
#define PCIE2 2
424
#define PCIE3 3
425
426
#define EICRA _SFR_MEM8(0x69)
427
#define ISC00 0
428
#define ISC01 1
429
#define ISC10 2
430
#define ISC11 3
431
#define ISC20 4
432
#define ISC21 5
433
#define ISC30 6
434
#define ISC31 7
435
436
#define PCMSK0 _SFR_MEM8(0x6A)
437
#define PCINT0 0
438
#define PCINT1 1
439
#define PCINT2 2
440
#define PCINT3 3
441
#define PCINT4 4
442
#define PCINT5 5
443
#define PCINT6 6
444
#define PCINT7 7
445
446
#define PCMSK1 _SFR_MEM8(0x6B)
447
#define PCINT8 0
448
#define PCINT9 1
449
#define PCINT10 2
450
#define PCINT11 3
451
#define PCINT12 4
452
#define PCINT13 5
453
#define PCINT14 6
454
#define PCINT15 7
455
456
#define PCMSK2 _SFR_MEM8(0x6C)
457
#define PCINT16 0
458
#define PCINT17 1
459
#define PCINT18 2
460
#define PCINT19 3
461
#define PCINT20 4
462
#define PCINT21 5
463
#define PCINT22 6
464
#define PCINT23 7
465
466
#define PCMSK3 _SFR_MEM8(0x6D)
467
#define PCINT24 0
468
#define PCINT25 1
469
#define PCINT26 2
470
471
#define TIMSK0 _SFR_MEM8(0x6E)
472
#define TOIE0 0
473
#define OCIE0A 1
474
#define OCIE0B 2
475
476
#define TIMSK1 _SFR_MEM8(0x6F)
477
#define TOIE1 0
478
#define OCIE1A 1
479
#define OCIE1B 2
480
#define ICIE1 5
481
482
#define AMP0CSR _SFR_MEM8(0x75)
483
#define AMP0TS0 0
484
#define AMP0TS1 1
485
#define AMP0TS2 2
486
#define AMPCMP0 3
487
#define AMP0G0 4
488
#define AMP0G1 5
489
#define AMP0IS 6
490
#define AMP0EN 7
491
492
#define AMP1CSR _SFR_MEM8(0x76)
493
#define AMP1TS0 0
494
#define AMP1TS1 1
495
#define AMP1TS2 2
496
#define AMPCMP1 3
497
#define AMP1G0 4
498
#define AMP1G1 5
499
#define AMP1IS 6
500
#define AMP1EN 7
501
502
#define AMP2CSR _SFR_MEM8(0x77)
503
#define AMP2TS0 0
504
#define AMP2TS1 1
505
#define AMP2TS2 2
506
#define AMPCMP2 3
507
#define AMP2G0 4
508
#define AMP2G1 5
509
#define AMP2IS 6
510
#define AMP2EN 7
511
512
#ifndef __ASSEMBLER__
513
#define ADC _SFR_MEM16(0x78)
514
#endif
515
#define ADCW _SFR_MEM16(0x78)
516
517
#define ADCL _SFR_MEM8(0x78)
518
#define ADCL0 0
519
#define ADCL1 1
520
#define ADCL2 2
521
#define ADCL3 3
522
#define ADCL4 4
523
#define ADCL5 5
524
#define ADCL6 6
525
#define ADCL7 7
526
527
#define ADCH _SFR_MEM8(0x79)
528
#define ADCH0 0
529
#define ADCH1 1
530
#define ADCH2 2
531
#define ADCH3 3
532
#define ADCH4 4
533
#define ADCH5 5
534
#define ADCH6 6
535
#define ADCH7 7
536
537
#define ADCSRA _SFR_MEM8(0x7A)
538
#define ADPS0 0
539
#define ADPS1 1
540
#define ADPS2 2
541
#define ADIE 3
542
#define ADIF 4
543
#define ADATE 5
544
#define ADSC 6
545
#define ADEN 7
546
547
#define ADCSRB _SFR_MEM8(0x7B)
548
#define ADTS0 0
549
#define ADTS1 1
550
#define ADTS2 2
551
#define ADTS3 3
552
#define AREFEN 5
553
#define ISRCEN 6
554
#define ADHSM 7
555
556
#define ADMUX _SFR_MEM8(0x7C)
557
#define MUX0 0
558
#define MUX1 1
559
#define MUX2 2
560
#define MUX3 3
561
#define MUX4 4
562
#define ADLAR 5
563
#define REFS0 6
564
#define REFS1 7
565
566
#define DIDR0 _SFR_MEM8(0x7E)
567
#define ADC0D 0
568
#define ADC1D 1
569
#define ADC2D 2
570
#define ADC3D 3
571
#define ADC4D 4
572
#define ADC5D 5
573
#define ADC6D 6
574
#define ADC7D 7
575
576
#define DIDR1 _SFR_MEM8(0x7F)
577
#define ADC8D 0
578
#define ADC9D 1
579
#define ADC10D 2
580
#define AMP0ND 3
581
#define AMP0PD 4
582
#define ACMP0D 5
583
#define AMP2PD 6
584
585
#define TCCR1A _SFR_MEM8(0x80)
586
#define WGM10 0
587
#define WGM11 1
588
#define COM1B0 4
589
#define COM1B1 5
590
#define COM1A0 6
591
#define COM1A1 7
592
593
#define TCCR1B _SFR_MEM8(0x81)
594
#define CS10 0
595
#define CS11 1
596
#define CS12 2
597
#define WGM12 3
598
#define WGM13 4
599
#define ICES1 6
600
#define ICNC1 7
601
602
#define TCCR1C _SFR_MEM8(0x82)
603
#define FOC1B 6
604
#define FOC1A 7
605
606
#define TCNT1 _SFR_MEM16(0x84)
607
608
#define TCNT1L _SFR_MEM8(0x84)
609
#define TCNT1L0 0
610
#define TCNT1L1 1
611
#define TCNT1L2 2
612
#define TCNT1L3 3
613
#define TCNT1L4 4
614
#define TCNT1L5 5
615
#define TCNT1L6 6
616
#define TCNT1L7 7
617
618
#define TCNT1H _SFR_MEM8(0x85)
619
#define TCNT1H0 0
620
#define TCNT1H1 1
621
#define TCNT1H2 2
622
#define TCNT1H3 3
623
#define TCNT1H4 4
624
#define TCNT1H5 5
625
#define TCNT1H6 6
626
#define TCNT1H7 7
627
628
#define ICR1 _SFR_MEM16(0x86)
629
630
#define ICR1L _SFR_MEM8(0x86)
631
#define ICR1L0 0
632
#define ICR1L1 1
633
#define ICR1L2 2
634
#define ICR1L3 3
635
#define ICR1L4 4
636
#define ICR1L5 5
637
#define ICR1L6 6
638
#define ICR1L7 7
639
640
#define ICR1H _SFR_MEM8(0x87)
641
#define ICR1H0 0
642
#define ICR1H1 1
643
#define ICR1H2 2
644
#define ICR1H3 3
645
#define ICR1H4 4
646
#define ICR1H5 5
647
#define ICR1H6 6
648
#define ICR1H7 7
649
650
#define OCR1A _SFR_MEM16(0x88)
651
652
#define OCR1AL _SFR_MEM8(0x88)
653
#define OCR1AL0 0
654
#define OCR1AL1 1
655
#define OCR1AL2 2
656
#define OCR1AL3 3
657
#define OCR1AL4 4
658
#define OCR1AL5 5
659
#define OCR1AL6 6
660
#define OCR1AL7 7
661
662
#define OCR1AH _SFR_MEM8(0x89)
663
#define OCR1AH0 0
664
#define OCR1AH1 1
665
#define OCR1AH2 2
666
#define OCR1AH3 3
667
#define OCR1AH4 4
668
#define OCR1AH5 5
669
#define OCR1AH6 6
670
#define OCR1AH7 7
671
672
#define OCR1B _SFR_MEM16(0x8A)
673
674
#define OCR1BL _SFR_MEM8(0x8A)
675
#define OCR1BL0 0
676
#define OCR1BL1 1
677
#define OCR1BL2 2
678
#define OCR1BL3 3
679
#define OCR1BL4 4
680
#define OCR1BL5 5
681
#define OCR1BL6 6
682
#define OCR1BL7 7
683
684
#define OCR1BH _SFR_MEM8(0x8B)
685
#define OCR1BH0 0
686
#define OCR1BH1 1
687
#define OCR1BH2 2
688
#define OCR1BH3 3
689
#define OCR1BH4 4
690
#define OCR1BH5 5
691
#define OCR1BH6 6
692
#define OCR1BH7 7
693
694
#define DACON _SFR_MEM8(0x90)
695
#define DAEN 0
696
#define DAOE 1
697
#define DALA 2
698
#define DATS0 4
699
#define DATS1 5
700
#define DATS2 6
701
#define DAATE 7
702
703
#define DAC _SFR_MEM16(0x91)
704
705
#define DACL _SFR_MEM8(0x91)
706
#define DACL0 0
707
#define DACL1 1
708
#define DACL2 2
709
#define DACL3 3
710
#define DACL4 4
711
#define DACL5 5
712
#define DACL6 6
713
#define DACL7 7
714
715
#define DACH _SFR_MEM8(0x92)
716
#define DACH0 0
717
#define DACH1 1
718
#define DACH2 2
719
#define DACH3 3
720
#define DACH4 4
721
#define DACH5 5
722
#define DACH6 6
723
#define DACH7 7
724
725
#define AC0CON _SFR_MEM8(0x94)
726
#define AC0M0 0
727
#define AC0M1 1
728
#define AC0M2 2
729
#define ACCKSEL 3
730
#define AC0IS0 4
731
#define AC0IS1 5
732
#define AC0IE 6
733
#define AC0EN 7
734
735
#define AC1CON _SFR_MEM8(0x95)
736
#define AC1M0 0
737
#define AC1M1 1
738
#define AC1M2 2
739
#define AC1ICE 3
740
#define AC1IS0 4
741
#define AC1IS1 5
742
#define AC1IE 6
743
#define AC1EN 7
744
745
#define AC2CON _SFR_MEM8(0x96)
746
#define AC2M0 0
747
#define AC2M1 1
748
#define AC2M2 2
749
#define AC2IS0 4
750
#define AC2IS1 5
751
#define AC2IE 6
752
#define AC2EN 7
753
754
#define AC3CON _SFR_MEM8(0x97)
755
#define AC3M0 0
756
#define AC3M1 1
757
#define AC3M2 2
758
#define AC3IS0 4
759
#define AC3IS1 5
760
#define AC3IE 6
761
#define AC3EN 7
762
763
#define LINCR _SFR_MEM8(0xC8)
764
#define LCMD0 0
765
#define LCMD1 1
766
#define LCMD2 2
767
#define LENA 3
768
#define LCONF0 4
769
#define LCONF1 5
770
#define LIN13 6
771
#define LSWRES 7
772
773
#define LINSIR _SFR_MEM8(0xC9)
774
#define LRXOK 0
775
#define LTXOK 1
776
#define LIDOK 2
777
#define LERR 3
778
#define LBUSY 4
779
#define LIDST0 5
780
#define LIDST1 6
781
#define LIDST2 7
782
783
#define LINENIR _SFR_MEM8(0xCA)
784
#define LENRXOK 0
785
#define LENTXOK 1
786
#define LENIDOK 2
787
#define LENERR 3
788
789
#define LINERR _SFR_MEM8(0xCB)
790
#define LBERR 0
791
#define LCERR 1
792
#define LPERR 2
793
#define LSERR 3
794
#define LFERR 4
795
#define LOVERR 5
796
#define LTOERR 6
797
#define LABORT 7
798
799
#define LINBTR _SFR_MEM8(0xCC)
800
#define LBT0 0
801
#define LBT1 1
802
#define LBT2 2
803
#define LBT3 3
804
#define LBT4 4
805
#define LBT5 5
806
#define LDISR 7
807
808
#define LINBRR _SFR_MEM16(0xCD)
809
810
#define LINBRRL _SFR_MEM8(0xCD)
811
#define LDIV0 0
812
#define LDIV1 1
813
#define LDIV2 2
814
#define LDIV3 3
815
#define LDIV4 4
816
#define LDIV5 5
817
#define LDIV6 6
818
#define LDIV7 7
819
820
#define LINBRRH _SFR_MEM8(0xCE)
821
#define LDIV8 0
822
#define LDIV9 1
823
#define LDIV10 2
824
#define LDIV11 3
825
826
#define LINDLR _SFR_MEM8(0xCF)
827
#define LRXDL0 0
828
#define LRXDL1 1
829
#define LRXDL2 2
830
#define LRXDL3 3
831
#define LTXDL0 4
832
#define LTXDL1 5
833
#define LTXDL2 6
834
#define LTXDL3 7
835
836
#define LINIDR _SFR_MEM8(0xD0)
837
#define LID0 0
838
#define LID1 1
839
#define LID2 2
840
#define LID3 3
841
#define LID4 4
842
#define LID5 5
843
#define LP0 6
844
#define LP1 7
845
846
#define LINSEL _SFR_MEM8(0xD1)
847
#define LINDX0 0
848
#define LINDX1 1
849
#define LINDX2 2
850
#define LAINC 3
851
852
#define LINDAT _SFR_MEM8(0xD2)
853
#define LDATA0 0
854
#define LDATA1 1
855
#define LDATA2 2
856
#define LDATA3 3
857
#define LDATA4 4
858
#define LDATA5 5
859
#define LDATA6 6
860
#define LDATA7 7
861
862
#define CANGCON _SFR_MEM8(0xD8)
863
#define SWRES 0
864
#define ENASTB 1
865
#define TEST 2
866
#define LISTEN 3
867
#define SYNTTC 4
868
#define TTC 5
869
#define OVRQ 6
870
#define ABRQ 7
871
872
#define CANGSTA _SFR_MEM8(0xD9)
873
#define ERRP 0
874
#define BOFF 1
875
#define ENFG 2
876
#define RXBSY 3
877
#define TXBSY 4
878
#define OVFG 6
879
880
#define CANGIT _SFR_MEM8(0xDA)
881
#define AERG 0
882
#define FERG 1
883
#define CERG 2
884
#define SERG 3
885
#define BXOK 4
886
#define OVRTIM 5
887
#define BOFFIT 6
888
#define CANIT 7
889
890
#define CANGIE _SFR_MEM8(0xDB)
891
#define ENOVRT 0
892
#define ENERG 1
893
#define ENBX 2
894
#define ENERR 3
895
#define ENTX 4
896
#define ENRX 5
897
#define ENBOFF 6
898
#define ENIT 7
899
900
#define CANEN2 _SFR_MEM8(0xDC)
901
#define ENMOB0 0
902
#define ENMOB1 1
903
#define ENMOB2 2
904
#define ENMOB3 3
905
#define ENMOB4 4
906
#define ENMOB5 5
907
908
#define CANEN1 _SFR_MEM8(0xDD)
909
910
#define CANIE2 _SFR_MEM8(0xDE)
911
#define IEMOB0 0
912
#define IEMOB1 1
913
#define IEMOB2 2
914
#define IEMOB3 3
915
#define IEMOB4 4
916
#define IEMOB5 5
917
918
#define CANIE1 _SFR_MEM8(0xDF)
919
920
#define CANSIT2 _SFR_MEM8(0xE0)
921
#define SIT0 0
922
#define SIT1 1
923
#define SIT2 2
924
#define SIT3 3
925
#define SIT4 4
926
#define SIT5 5
927
928
#define CANSIT1 _SFR_MEM8(0xE1)
929
930
#define CANBT1 _SFR_MEM8(0xE2)
931
#define BRP0 1
932
#define BRP1 2
933
#define BRP2 3
934
#define BRP3 4
935
#define BRP4 5
936
#define BRP5 6
937
938
#define CANBT2 _SFR_MEM8(0xE3)
939
#define PRS0 1
940
#define PRS1 2
941
#define PRS2 3
942
#define SJW0 5
943
#define SJW1 6
944
945
#define CANBT3 _SFR_MEM8(0xE4)
946
#define SMP 0
947
#define PHS10 1
948
#define PHS11 2
949
#define PHS12 3
950
#define PHS20 4
951
#define PHS21 5
952
#define PHS22 6
953
954
#define CANTCON _SFR_MEM8(0xE5)
955
#define TPRSC0 0
956
#define TPRSC1 1
957
#define TPRSC2 2
958
#define TPRSC3 3
959
#define TPRSC4 4
960
#define TPRSC5 5
961
#define TPRSC6 6
962
#define TPRSC7 7
963
964
#define CANTIM _SFR_MEM16(0xE6)
965
966
#define CANTIML _SFR_MEM8(0xE6)
967
#define CANTIM0 0
968
#define CANTIM1 1
969
#define CANTIM2 2
970
#define CANTIM3 3
971
#define CANTIM4 4
972
#define CANTIM5 5
973
#define CANTIM6 6
974
#define CANTIM7 7
975
976
#define CANTIMH _SFR_MEM8(0xE7)
977
#define CANTIM8 0
978
#define CANTIM9 1
979
#define CANTIM10 2
980
#define CANTIM11 3
981
#define CANTIM12 4
982
#define CANTIM13 5
983
#define CANTIM14 6
984
#define CANTIM15 7
985
986
#define CANTTC _SFR_MEM16(0xE8)
987
988
#define CANTTCL _SFR_MEM8(0xE8)
989
#define TIMTCC0 0
990
#define TIMTCC1 1
991
#define TIMTCC2 2
992
#define TIMTCC3 3
993
#define TIMTCC4 4
994
#define TIMTCC5 5
995
#define TIMTCC6 6
996
#define TIMTCC7 7
997
998
#define CANTTCH _SFR_MEM8(0xE9)
999
#define TIMTCC8 0
1000
#define TIMTCC9 1
1001
#define TIMTCC10 2
1002
#define TIMTCC11 3
1003
#define TIMTCC12 4
1004
#define TIMTCC13 5
1005
#define TIMTCC14 6
1006
#define TIMTCC15 7
1007
1008
#define CANTEC _SFR_MEM8(0xEA)
1009
#define TEC0 0
1010
#define TEC1 1
1011
#define TEC2 2
1012
#define TEC3 3
1013
#define TEC4 4
1014
#define TEC5 5
1015
#define TEC6 6
1016
#define TEC7 7
1017
1018
#define CANREC _SFR_MEM8(0xEB)
1019
#define REC0 0
1020
#define REC1 1
1021
#define REC2 2
1022
#define REC3 3
1023
#define REC4 4
1024
#define REC5 5
1025
#define REC6 6
1026
#define REC7 7
1027
1028
#define CANHPMOB _SFR_MEM8(0xEC)
1029
#define CGP0 0
1030
#define CGP1 1
1031
#define CGP2 2
1032
#define CGP3 3
1033
#define HPMOB0 4
1034
#define HPMOB1 5
1035
#define HPMOB2 6
1036
#define HPMOB3 7
1037
1038
#define CANPAGE _SFR_MEM8(0xED)
1039
#define INDX0 0
1040
#define INDX1 1
1041
#define INDX2 2
1042
#define AINC 3
1043
#define MOBNB0 4
1044
#define MOBNB1 5
1045
#define MOBNB2 6
1046
#define MOBNB3 7
1047
1048
#define CANSTMOB _SFR_MEM8(0xEE)
1049
#define AERR 0
1050
#define FERR 1
1051
#define CERR 2
1052
#define SERR 3
1053
#define BERR 4
1054
#define RXOK 5
1055
#define TXOK 6
1056
#define DLCW 7
1057
1058
#define CANCDMOB _SFR_MEM8(0xEF)
1059
#define DLC0 0
1060
#define DLC1 1
1061
#define DLC2 2
1062
#define DLC3 3
1063
#define IDE 4
1064
#define RPLV 5
1065
#define CONMOB0 6
1066
#define CONMOB1 7
1067
1068
#define CANIDT4 _SFR_MEM8(0xF0)
1069
#define RB0TAG 0
1070
#define RB1TAG 1
1071
#define RTRTAG 2
1072
#define IDT0 3
1073
#define IDT1 4
1074
#define IDT2 5
1075
#define IDT3 6
1076
#define IDT4 7
1077
1078
#define CANIDT3 _SFR_MEM8(0xF1)
1079
#define IDT5 0
1080
#define IDT6 1
1081
#define IDT7 2
1082
#define IDT8 3
1083
#define IDT9 4
1084
#define IDT10 5
1085
#define IDT11 6
1086
#define IDT12 7
1087
1088
#define CANIDT2 _SFR_MEM8(0xF2)
1089
#define IDT13 0
1090
#define IDT14 1
1091
#define IDT15 2
1092
#define IDT16 3
1093
#define IDT17 4
1094
#define IDT18 5
1095
#define IDT19 6
1096
#define IDT20 7
1097
1098
#define CANIDT1 _SFR_MEM8(0xF3)
1099
#define IDT21 0
1100
#define IDT22 1
1101
#define IDT23 2
1102
#define IDT24 3
1103
#define IDT25 4
1104
#define IDT26 5
1105
#define IDT27 6
1106
#define IDT28 7
1107
1108
#define CANIDM4 _SFR_MEM8(0xF4)
1109
#define IDEMSK 0
1110
#define RTRMSK 2
1111
#define IDMSK0 3
1112
#define IDMSK1 4
1113
#define IDMSK2 5
1114
#define IDMSK3 6
1115
#define IDMSK4 7
1116
1117
#define CANIDM3 _SFR_MEM8(0xF5)
1118
#define IDMSK5 0
1119
#define IDMSK6 1
1120
#define IDMSK7 2
1121
#define IDMSK8 3
1122
#define IDMSK9 4
1123
#define IDMSK10 5
1124
#define IDMSK11 6
1125
#define IDMSK12 7
1126
1127
#define CANIDM2 _SFR_MEM8(0xF6)
1128
#define IDMSK13 0
1129
#define IDMSK14 1
1130
#define IDMSK15 2
1131
#define IDMSK16 3
1132
#define IDMSK17 4
1133
#define IDMSK18 5
1134
#define IDMSK19 6
1135
#define IDMSK20 7
1136
1137
#define CANIDM1 _SFR_MEM8(0xF7)
1138
#define IDMSK21 0
1139
#define IDMSK22 1
1140
#define IDMSK23 2
1141
#define IDMSK24 3
1142
#define IDMSK25 4
1143
#define IDMSK26 5
1144
#define IDMSK27 6
1145
#define IDMSK28 7
1146
1147
#define CANSTM _SFR_MEM16(0xF8)
1148
1149
#define CANSTML _SFR_MEM8(0xF8)
1150
#define TIMSTM0 0
1151
#define TIMSTM1 1
1152
#define TIMSTM2 2
1153
#define TIMSTM3 3
1154
#define TIMSTM4 4
1155
#define TIMSTM5 5
1156
#define TIMSTM6 6
1157
#define TIMSTM7 7
1158
1159
#define CANSTMH _SFR_MEM8(0xF9)
1160
#define TIMSTM8 0
1161
#define TIMSTM9 1
1162
#define TIMSTM10 2
1163
#define TIMSTM11 3
1164
#define TIMSTM12 4
1165
#define TIMSTM13 5
1166
#define TIMSTM14 6
1167
#define TIMSTM15 7
1168
1169
#define CANMSG _SFR_MEM8(0xFA)
1170
#define MSG0 0
1171
#define MSG1 1
1172
#define MSG2 2
1173
#define MSG3 3
1174
#define MSG4 4
1175
#define MSG5 5
1176
#define MSG6 6
1177
#define MSG7 7
1178
1179
1180
/* Interrupt vectors */
1181
/* Vector 0 is the reset vector */
1182
#define ANACOMP0_vect_num 1
1183
#define ANACOMP0_vect _VECTOR(1)
/* Analog Comparator 0 */
1184
#define ANACOMP1_vect_num 2
1185
#define ANACOMP1_vect _VECTOR(2)
/* Analog Comparator 1 */
1186
#define ANACOMP2_vect_num 3
1187
#define ANACOMP2_vect _VECTOR(3)
/* Analog Comparator 2 */
1188
#define ANACOMP3_vect_num 4
1189
#define ANACOMP3_vect _VECTOR(4)
/* Analog Comparator 3 */
1190
#define PSC_FAULT_vect_num 5
1191
#define PSC_FAULT_vect _VECTOR(5)
/* PSC Fault */
1192
#define PSC_EC_vect_num 6
1193
#define PSC_EC_vect _VECTOR(6)
/* PSC End of Cycle */
1194
#define INT0_vect_num 7
1195
#define INT0_vect _VECTOR(7)
/* External Interrupt Request 0 */
1196
#define INT1_vect_num 8
1197
#define INT1_vect _VECTOR(8)
/* External Interrupt Request 1 */
1198
#define INT2_vect_num 9
1199
#define INT2_vect _VECTOR(9)
/* External Interrupt Request 2 */
1200
#define INT3_vect_num 10
1201
#define INT3_vect _VECTOR(10)
/* External Interrupt Request 3 */
1202
#define TIMER1_CAPT_vect_num 11
1203
#define TIMER1_CAPT_vect _VECTOR(11)
/* Timer/Counter1 Capture Event */
1204
#define TIMER1_COMPA_vect_num 12
1205
#define TIMER1_COMPA_vect _VECTOR(12)
/* Timer/Counter1 Compare Match A */
1206
#define TIMER1_COMPB_vect_num 13
1207
#define TIMER1_COMPB_vect _VECTOR(13)
/* Timer/Counter1 Compare Match B */
1208
#define TIMER1_OVF_vect_num 14
1209
#define TIMER1_OVF_vect _VECTOR(14)
/* Timer1/Counter1 Overflow */
1210
#define TIMER0_COMPA_vect_num 15
1211
#define TIMER0_COMPA_vect _VECTOR(15)
/* Timer/Counter0 Compare Match A */
1212
#define TIMER0_COMPB_vect_num 16
1213
#define TIMER0_COMPB_vect _VECTOR(16)
/* Timer/Counter0 Compare Match B */
1214
#define TIMER0_OVF_vect_num 17
1215
#define TIMER0_OVF_vect _VECTOR(17)
/* Timer/Counter0 Overflow */
1216
#define CAN_INT_vect_num 18
1217
#define CAN_INT_vect _VECTOR(18)
/* CAN MOB, Burst, General Errors */
1218
#define CAN_TOVF_vect_num 19
1219
#define CAN_TOVF_vect _VECTOR(19)
/* CAN Timer Overflow */
1220
#define LIN_TC_vect_num 20
1221
#define LIN_TC_vect _VECTOR(20)
/* LIN Transfer Complete */
1222
#define LIN_ERR_vect_num 21
1223
#define LIN_ERR_vect _VECTOR(21)
/* LIN Error */
1224
#define PCINT0_vect_num 22
1225
#define PCINT0_vect _VECTOR(22)
/* Pin Change Interrupt Request 0 */
1226
#define PCINT1_vect_num 23
1227
#define PCINT1_vect _VECTOR(23)
/* Pin Change Interrupt Request 1 */
1228
#define PCINT2_vect_num 24
1229
#define PCINT2_vect _VECTOR(24)
/* Pin Change Interrupt Request 2 */
1230
#define PCINT3_vect_num 25
1231
#define PCINT3_vect _VECTOR(25)
/* Pin Change Interrupt Request 3 */
1232
#define SPI_STC_vect_num 26
1233
#define SPI_STC_vect _VECTOR(26)
/* SPI Serial Transfer Complete */
1234
#define ADC_vect_num 27
1235
#define ADC_vect _VECTOR(27)
/* ADC Conversion Complete */
1236
#define WDT_vect_num 28
1237
#define WDT_vect _VECTOR(28)
/* Watchdog Time-Out Interrupt */
1238
#define EE_READY_vect_num 29
1239
#define EE_READY_vect _VECTOR(29)
/* EEPROM Ready */
1240
#define SPM_READY_vect_num 30
1241
#define SPM_READY_vect _VECTOR(30)
/* Store Program Memory Read */
1242
1243
#define _VECTOR_SIZE 4
/* Size of individual vector. */
1244
#define _VECTORS_SIZE (31 * _VECTOR_SIZE)
1245
1246
1247
/* Constants */
1248
#define SPM_PAGESIZE (128)
1249
#define RAMSTART (0x0100)
1250
#define RAMSIZE (2048)
1251
#define RAMEND (RAMSTART + RAMSIZE - 1)
1252
#define XRAMSTART (0x0)
1253
#define XRAMSIZE (0)
1254
#define XRAMEND (RAMEND)
1255
#define E2END (0x3FF)
1256
#define E2PAGESIZE (4)
1257
#define FLASHEND (0x7FFF)
1258
1259
1260
/* Fuses */
1261
#define FUSE_MEMORY_SIZE 3
1262
1263
/* Low Fuse Byte */
1264
#define FUSE_CKSEL0 (unsigned char)~_BV(0)
/* Select Clock Source */
1265
#define FUSE_CKSEL1 (unsigned char)~_BV(1)
/* Select Clock Source */
1266
#define FUSE_CKSEL2 (unsigned char)~_BV(2)
/* Select Clock Source */
1267
#define FUSE_CKSEL3 (unsigned char)~_BV(3)
/* Select Clock Source */
1268
#define FUSE_SUT0 (unsigned char)~_BV(4)
/* Select start-up time */
1269
#define FUSE_SUT1 (unsigned char)~_BV(5)
/* Select start-up time */
1270
#define FUSE_CKOUT (unsigned char)~_BV(6)
/* Oscillator output option */
1271
#define FUSE_CKDIV8 (unsigned char)~_BV(7)
/* Divide clock by 8 */
1272
#define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1)
1273
1274
/* High Fuse Byte */
1275
#define FUSE_BOOTRST (unsigned char)~_BV(0)
/* Select Reset Vector */
1276
#define FUSE_BOOTSZ0 (unsigned char)~_BV(1)
/* Select Boot Size */
1277
#define FUSE_BOOTSZ1 (unsigned char)~_BV(2)
/* Select Boot Size */
1278
#define FUSE_EESAVE (unsigned char)~_BV(3)
/* EEPROM memory is preserved through chip erase */
1279
#define FUSE_WDTON (unsigned char)~_BV(4)
/* Watchdog timer always on */
1280
#define FUSE_SPIEN (unsigned char)~_BV(5)
/* Enable Serial programming and Data Downloading */
1281
#define FUSE_DWEN (unsigned char)~_BV(6)
/* DebugWIRE Enable */
1282
#define FUSE_RSTDISBL (unsigned char)~_BV(7)
/* External Reset Disable */
1283
#define HFUSE_DEFAULT (FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0)
1284
1285
/* Extended Fuse Byte */
1286
#define FUSE_BODLEVEL0 (unsigned char)~_BV(0)
/* Brown-out Detector Trigger Level */
1287
#define FUSE_BODLEVEL1 (unsigned char)~_BV(1)
/* Brown-out Detector Trigger Level */
1288
#define FUSE_BODLEVEL2 (unsigned char)~_BV(2)
/* Brown-out Detector Trigger Level */
1289
#define FUSE_PSCRVB (unsigned char)~_BV(3)
/* PSC Outputs xB Reset Value */
1290
#define FUSE_PSCRVA (unsigned char)~_BV(4)
/* PSC Outputs xA Reset Value */
1291
#define FUSE_PSCRB (unsigned char)~_BV(5)
/* PSC Reset Behavior */
1292
#define EFUSE_DEFAULT (FUSE_BODLEVEL2 & FUSE_BODLEVEL1)
1293
1294
1295
/* Lock Bits */
1296
#define __LOCK_BITS_EXIST
1297
#define __BOOT_LOCK_BITS_0_EXIST
1298
#define __BOOT_LOCK_BITS_1_EXIST
1299
1300
1301
/* Signature */
1302
#define SIGNATURE_0 0x1E
1303
#define SIGNATURE_1 0x95
1304
#define SIGNATURE_2 0x86
1305
1306
1308
#endif
/* _AVR_ATmega32C1_H_ */
Generated by
1.8.13