RTEMS CPU Kit with SuperCore  4.11.3
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_ */