RTEMS CPU Kit with SuperCore  4.11.3
iom16hvb.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_ "iom16hvb.h"
47 #else
48 # error "Attempt to include more than one <avr/ioXXX.h> file."
49 #endif
50 
51 
52 #ifndef _AVR_ATmega16HVB_H_
53 #define _AVR_ATmega16HVB_H_ 1
54 
62 /* Registers and associated bit numbers. */
63 
64 #define PINA _SFR_IO8(0x00)
65 #define PINA0 0
66 #define PINA1 1
67 #define PINA2 2
68 #define PINA3 3
69 
70 #define DDRA _SFR_IO8(0x01)
71 #define DDA0 0
72 #define DDA1 1
73 #define DDA2 2
74 #define DDA3 3
75 
76 #define PORTA _SFR_IO8(0x02)
77 #define PORTA0 0
78 #define PORTA1 1
79 #define PORTA2 2
80 #define PORTA3 3
81 
82 #define PINB _SFR_IO8(0x03)
83 #define PINB0 0
84 #define PINB1 1
85 #define PINB2 2
86 #define PINB3 3
87 #define PINB4 4
88 #define PINB5 5
89 #define PINB6 6
90 #define PINB7 7
91 
92 #define DDRB _SFR_IO8(0x04)
93 #define DDB0 0
94 #define DDB1 1
95 #define DDB2 2
96 #define DDB3 3
97 #define DDB4 4
98 #define DDB5 5
99 #define DDB6 6
100 #define DDB7 7
101 
102 #define PORTB _SFR_IO8(0x05)
103 #define PORTB0 0
104 #define PORTB1 1
105 #define PORTB2 2
106 #define PORTB3 3
107 #define PORTB4 4
108 #define PORTB5 5
109 #define PORTB6 6
110 #define PORTB7 7
111 
112 #define PINC _SFR_IO8(0x06)
113 #define PINC0 0
114 #define PINC1 1
115 #define PINC2 2
116 #define PINC3 3
117 #define PINC4 4
118 
119 #define PORTC _SFR_IO8(0x08)
120 #define PORTC0 0
121 #define PORTC1 1
122 #define PORTC2 2
123 #define PORTC3 3
124 #define PORTC4 4
125 #define PORTC5 5
126 
127 #define TIFR0 _SFR_IO8(0x15)
128 #define TOV0 0
129 #define OCF0A 1
130 #define OCF0B 2
131 #define ICF0 3
132 
133 #define TIFR1 _SFR_IO8(0x16)
134 #define TOV1 0
135 #define OCF1A 1
136 #define OCF1B 2
137 #define ICF1 3
138 
139 #define OSICSR _SFR_IO8(0x17)
140 #define OSIEN 0
141 #define OSIST 1
142 #define OSISEL0 4
143 
144 #define PCIFR _SFR_IO8(0x1B)
145 #define PCIF0 0
146 #define PCIF1 1
147 
148 #define EIFR _SFR_IO8(0x1C)
149 #define INTF0 0
150 #define INTF1 1
151 #define INTF2 2
152 #define INTF3 3
153 
154 #define EIMSK _SFR_IO8(0x1D)
155 #define INT0 0
156 #define INT1 1
157 #define INT2 2
158 #define INT3 3
159 
160 #define GPIOR0 _SFR_IO8(0x1E)
161 #define GPIOR00 0
162 #define GPIOR01 1
163 #define GPIOR02 2
164 #define GPIOR03 3
165 #define GPIOR04 4
166 #define GPIOR05 5
167 #define GPIOR06 6
168 #define GPIOR07 7
169 
170 #define EECR _SFR_IO8(0x1F)
171 #define EERE 0
172 #define EEPE 1
173 #define EEMPE 2
174 #define EERIE 3
175 #define EEPM0 4
176 #define EEPM1 5
177 
178 #define EEDR _SFR_IO8(0x20)
179 #define EEDR0 0
180 #define EEDR1 1
181 #define EEDR2 2
182 #define EEDR3 3
183 #define EEDR4 4
184 #define EEDR5 5
185 #define EEDR6 6
186 #define EEDR7 7
187 
188 #define EEAR _SFR_IO16(0x21)
189 
190 #define EEARL _SFR_IO8(0x21)
191 #define EEAR0 0
192 #define EEAR1 1
193 #define EEAR2 2
194 #define EEAR3 3
195 #define EEAR4 4
196 #define EEAR5 5
197 #define EEAR6 6
198 #define EEAR7 7
199 
200 #define EEARH _SFR_IO8(0x22)
201 #define EEAR8 0
202 #define EEAR9 1
203 
204 #define GTCCR _SFR_IO8(0x23)
205 #define PSRSYNC 0
206 #define TSM 7
207 
208 #define TCCR0A _SFR_IO8(0x24)
209 #define WGM00 0
210 #define ICS0 3
211 #define ICES0 4
212 #define ICNC0 5
213 #define ICEN0 6
214 #define TCW0 7
215 
216 #define TCCR0B _SFR_IO8(0x25)
217 #define CS00 0
218 #define CS01 1
219 #define CS02 2
220 
221 #define TCNT0 _SFR_IO16(0x26)
222 
223 #define TCNT0L _SFR_IO8(0x26)
224 #define TCNT0L0 0
225 #define TCNT0L1 1
226 #define TCNT0L2 2
227 #define TCNT0L3 3
228 #define TCNT0L4 4
229 #define TCNT0L5 5
230 #define TCNT0L6 6
231 #define TCNT0L7 7
232 
233 #define TCNT0H _SFR_IO8(0x27)
234 #define TCNT0H0 0
235 #define TCNT0H1 1
236 #define TCNT0H2 2
237 #define TCNT0H3 3
238 #define TCNT0H4 4
239 #define TCNT0H5 5
240 #define TCNT0H6 6
241 #define TCNT0H7 7
242 
243 #define OCR0A _SFR_IO8(0x28)
244 #define OCR0A0 0
245 #define OCR0A1 1
246 #define OCR0A2 2
247 #define OCR0A3 3
248 #define OCR0A4 4
249 #define OCR0A5 5
250 #define OCR0A6 6
251 #define OCR0A7 7
252 
253 #define OCR0B _SFR_IO8(0x29)
254 #define OCR0B0 0
255 #define OCR0B1 1
256 #define OCR0B2 2
257 #define OCR0B3 3
258 #define OCR0B4 4
259 #define OCR0B5 5
260 #define OCR0B6 6
261 #define OCR0B7 7
262 
263 #define GPIOR1 _SFR_IO8(0x2A)
264 #define GPIOR10 0
265 #define GPIOR11 1
266 #define GPIOR12 2
267 #define GPIOR13 3
268 #define GPIOR14 4
269 #define GPIOR15 5
270 #define GPIOR16 6
271 #define GPIOR17 7
272 
273 #define GPIOR2 _SFR_IO8(0x2B)
274 #define GPIOR20 0
275 #define GPIOR21 1
276 #define GPIOR22 2
277 #define GPIOR23 3
278 #define GPIOR24 4
279 #define GPIOR25 5
280 #define GPIOR26 6
281 #define GPIOR27 7
282 
283 #define SPCR _SFR_IO8(0x2C)
284 #define SPR0 0
285 #define SPR1 1
286 #define CPHA 2
287 #define CPOL 3
288 #define MSTR 4
289 #define DORD 5
290 #define SPE 6
291 #define SPIE 7
292 
293 #define SPSR _SFR_IO8(0x2D)
294 #define SPI2X 0
295 #define WCOL 6
296 #define SPIF 7
297 
298 #define SPDR _SFR_IO8(0x2E)
299 #define SPDR0 0
300 #define SPDR1 1
301 #define SPDR2 2
302 #define SPDR3 3
303 #define SPDR4 4
304 #define SPDR5 5
305 #define SPDR6 6
306 #define SPDR7 7
307 
308 #define DWDR _SFR_IO8(0x31)
309 
310 #define SMCR _SFR_IO8(0x33)
311 #define SE 0
312 #define SM0 1
313 #define SM1 2
314 #define SM2 3
315 
316 #define MCUSR _SFR_IO8(0x34)
317 #define PORF 0
318 #define EXTRF 1
319 #define BODRF 2
320 #define WDRF 3
321 #define OCDRF 4
322 
323 #define MCUCR _SFR_IO8(0x35)
324 #define IVCE 0
325 #define IVSEL 1
326 #define PUD 4
327 #define CKOE 5
328 
329 #define SPMCSR _SFR_IO8(0x37)
330 #define SPMEN 0
331 #define PGERS 1
332 #define PGWRT 2
333 #define LBSET 3
334 #define RWWSRE 4
335 #define SIGRD 5
336 #define RWWSB 6
337 #define SPMIE 7
338 
339 #define WDTCSR _SFR_MEM8(0x60)
340 #define WDP0 0
341 #define WDP1 1
342 #define WDP2 2
343 #define WDE 3
344 #define WDCE 4
345 #define WDP3 5
346 #define WDIE 6
347 #define WDIF 7
348 
349 #define CLKPR _SFR_MEM8(0x61)
350 #define CLKPS0 0
351 #define CLKPS1 1
352 #define CLKPCE 7
353 
354 #define PRR0 _SFR_MEM8(0x64)
355 #define PRVADC 0
356 #define PRTIM0 1
357 #define PRTIM1 2
358 #define PRSPI 3
359 #define PRVRM 5
360 #define PRTWI 6
361 
362 #define FOSCCAL _SFR_MEM8(0x66)
363 #define FCAL0 0
364 #define FCAL1 1
365 #define FCAL2 2
366 #define FCAL3 3
367 #define FCAL4 4
368 #define FCAL5 5
369 #define FCAL6 6
370 #define FCAL7 7
371 
372 #define PCICR _SFR_MEM8(0x68)
373 #define PCIE0 0
374 #define PCIE1 1
375 
376 #define EICRA _SFR_MEM8(0x69)
377 #define ISC00 0
378 #define ISC01 1
379 #define ISC10 2
380 #define ISC11 3
381 #define ISC20 4
382 #define ISC21 5
383 #define ISC30 6
384 #define ISC31 7
385 
386 #define PCMSK0 _SFR_MEM8(0x6B)
387 #define PCINT0 0
388 #define PCINT1 1
389 #define PCINT2 2
390 #define PCINT3 3
391 
392 #define PCMSK1 _SFR_MEM8(0x6C)
393 #define PCINT4 0
394 #define PCINT5 1
395 #define PCINT6 2
396 #define PCINT7 3
397 #define PCINT8 4
398 #define PCINT9 5
399 #define PCINT10 6
400 #define PCINT11 7
401 
402 #define TIMSK0 _SFR_MEM8(0x6E)
403 #define TOIE0 0
404 #define OCIE0A 1
405 #define OCIE0B 2
406 #define ICIE0 3
407 
408 #define TIMSK1 _SFR_MEM8(0x6F)
409 #define TOIE1 0
410 #define OCIE1A 1
411 #define OCIE1B 2
412 #define ICIE1 3
413 
414 #define VADC _SFR_MEM16(0x78)
415 
416 #define VADCL _SFR_MEM8(0x78)
417 #define VADC0 0
418 #define VADC1 1
419 #define VADC2 2
420 #define VADC3 3
421 #define VADC4 4
422 #define VADC5 5
423 #define VADC6 6
424 #define VADC7 7
425 
426 #define VADCH _SFR_MEM8(0x79)
427 #define VADC8 0
428 #define VADC9 1
429 #define VADC10 2
430 #define VADC11 3
431 
432 #define VADCSR _SFR_MEM8(0x7A)
433 #define VADCCIE 0
434 #define VADCCIF 1
435 #define VADSC 2
436 #define VADEN 3
437 
438 #define VADMUX _SFR_MEM8(0x7C)
439 #define VADMUX0 0
440 #define VADMUX1 1
441 #define VADMUX2 2
442 #define VADMUX3 3
443 
444 #define DIDR0 _SFR_MEM8(0x7E)
445 #define PA0DID 0
446 #define PA1DID 1
447 
448 #define TCCR1A _SFR_MEM8(0x80)
449 #define WGM10 0
450 #define ICS1 3
451 #define ICES1 4
452 #define ICNC1 5
453 #define ICEN1 6
454 #define TCW1 7
455 
456 #define TCCR1B _SFR_MEM8(0x81)
457 #define CS10 0
458 #define CS11 1
459 #define CS12 2
460 
461 #define TCNT1 _SFR_MEM16(0x84)
462 
463 #define TCNT1L _SFR_MEM8(0x84)
464 #define TCNT1L0 0
465 #define TCNT1L1 1
466 #define TCNT1L2 2
467 #define TCNT1L3 3
468 #define TCNT1L4 4
469 #define TCNT1L5 5
470 #define TCNT1L6 6
471 #define TCNT1L7 7
472 
473 #define TCNT1H _SFR_MEM8(0x85)
474 #define TCNT1H0 0
475 #define TCNT1H1 1
476 #define TCNT1H2 2
477 #define TCNT1H3 3
478 #define TCNT1H4 4
479 #define TCNT1H5 5
480 #define TCNT1H6 6
481 #define TCNT1H7 7
482 
483 #define OCR1A _SFR_MEM8(0x88)
484 #define OCR1A0 0
485 #define OCR1A1 1
486 #define OCR1A2 2
487 #define OCR1A3 3
488 #define OCR1A4 4
489 #define OCR1A5 5
490 #define OCR1A6 6
491 #define OCR1A7 7
492 
493 #define OCR1B _SFR_MEM8(0x89)
494 #define OCR1B0 0
495 #define OCR1B1 1
496 #define OCR1B2 2
497 #define OCR1B3 3
498 #define OCR1B4 4
499 #define OCR1B5 5
500 #define OCR1B6 6
501 #define OCR1B7 7
502 
503 #define TWBR _SFR_MEM8(0xB8)
504 #define TWBR0 0
505 #define TWBR1 1
506 #define TWBR2 2
507 #define TWBR3 3
508 #define TWBR4 4
509 #define TWBR5 5
510 #define TWBR6 6
511 #define TWBR7 7
512 
513 #define TWSR _SFR_MEM8(0xB9)
514 #define TWPS0 0
515 #define TWPS1 1
516 #define TWS3 3
517 #define TWS4 4
518 #define TWS5 5
519 #define TWS6 6
520 #define TWS7 7
521 
522 #define TWAR _SFR_MEM8(0xBA)
523 #define TWGCE 0
524 #define TWA0 1
525 #define TWA1 2
526 #define TWA2 3
527 #define TWA3 4
528 #define TWA4 5
529 #define TWA5 6
530 #define TWA6 7
531 
532 #define TWDR _SFR_MEM8(0xBB)
533 #define TWD0 0
534 #define TWD1 1
535 #define TWD2 2
536 #define TWD3 3
537 #define TWD4 4
538 #define TWD5 5
539 #define TWD6 6
540 #define TWD7 7
541 
542 #define TWCR _SFR_MEM8(0xBC)
543 #define TWIE 0
544 #define TWEN 2
545 #define TWWC 3
546 #define TWSTO 4
547 #define TWSTA 5
548 #define TWEA 6
549 #define TWINT 7
550 
551 #define TWAMR _SFR_MEM8(0xBD)
552 #define TWAM0 1
553 #define TWAM1 2
554 #define TWAM2 3
555 #define TWAM3 4
556 #define TWAM4 5
557 #define TWAM5 6
558 #define TWAM6 7
559 
560 #define TWBCSR _SFR_MEM8(0xBE)
561 #define TWBCIP 0
562 #define TWBDT0 1
563 #define TWBDT1 2
564 #define TWBCIE 6
565 #define TWBCIF 7
566 
567 #define ROCR _SFR_MEM8(0xC8)
568 #define ROCWIE 0
569 #define ROCWIF 1
570 #define ROCD 4
571 #define ROCS 7
572 
573 #define BGCCR _SFR_MEM8(0xD0)
574 #define BGCC0 0
575 #define BGCC1 1
576 #define BGCC2 2
577 #define BGCC3 3
578 #define BGCC4 4
579 #define BGCC5 5
580 
581 #define BGCRR _SFR_MEM8(0xD1)
582 #define BGCR0 0
583 #define BGCR1 1
584 #define BGCR2 2
585 #define BGCR3 3
586 #define BGCR4 4
587 #define BGCR5 5
588 #define BGCR6 6
589 #define BGCR7 7
590 
591 #define BGCSR _SFR_MEM8(0xD2)
592 #define BGSCDIE 0
593 #define BGSCDIF 1
594 #define BGSCDE 4
595 #define BGD 5
596 
597 #define CHGDCSR _SFR_MEM8(0xD4)
598 #define CHGDIE 0
599 #define CHGDIF 1
600 #define CHGDISC0 2
601 #define CHGDISC1 3
602 #define BATTPVL 4
603 
604 #define CADAC0 _SFR_MEM8(0xE0)
605 #define CADAC00 0
606 #define CADAC01 1
607 #define CADAC02 2
608 #define CADAC03 3
609 #define CADAC04 4
610 #define CADAC05 5
611 #define CADAC06 6
612 #define CADAC07 7
613 
614 #define CADAC1 _SFR_MEM8(0xE1)
615 #define CADAC08 0
616 #define CADAC09 1
617 #define CADAC10 2
618 #define CADAC11 3
619 #define CADAC12 4
620 #define CADAC13 5
621 #define CADAC14 6
622 #define CADAC15 7
623 
624 #define CADAC2 _SFR_MEM8(0xE2)
625 #define CADAC16 0
626 #define CADAC17 1
627 #define CADAC18 2
628 #define CADAC19 3
629 #define CADAC20 4
630 #define CADAC21 5
631 #define CADAC22 6
632 #define CADAC23 7
633 
634 #define CADAC3 _SFR_MEM8(0xE3)
635 #define CADAC24 0
636 #define CADAC25 1
637 #define CADAC26 2
638 #define CADAC27 3
639 #define CADAC28 4
640 #define CADAC29 5
641 #define CADAC30 6
642 #define CADAC31 7
643 
644 #define CADIC _SFR_MEM16(0xE4)
645 
646 #define CADICL _SFR_MEM8(0xE4)
647 #define CADICL0 0
648 #define CADICL1 1
649 #define CADICL2 2
650 #define CADICL3 3
651 #define CADICL4 4
652 #define CADICL5 5
653 #define CADICL6 6
654 #define CADICL7 7
655 
656 #define CADICH _SFR_MEM8(0xE5)
657 #define CADICH0 0
658 #define CADICH1 1
659 #define CADICH2 2
660 #define CADICH3 3
661 #define CADICH4 4
662 #define CADICH5 5
663 #define CADICH6 6
664 #define CADICH7 7
665 
666 #define CADCSRA _SFR_MEM8(0xE6)
667 #define CADSE 0
668 #define CADSI0 1
669 #define CADSI1 2
670 #define CADAS0 3
671 #define CADAS1 4
672 #define CADUB 5
673 #define CADPOL 6
674 #define CADEN 7
675 
676 #define CADCSRB _SFR_MEM8(0xE7)
677 #define CADICIF 0
678 #define CADRCIF 1
679 #define CADACIF 2
680 #define CADICIE 4
681 #define CADRCIE 5
682 #define CADACIE 6
683 
684 #define CADCSRC _SFR_MEM8(0xE8)
685 #define CADVSE 0
686 
687 #define CADRCC _SFR_MEM8(0xE9)
688 #define CADRCC0 0
689 #define CADRCC1 1
690 #define CADRCC2 2
691 #define CADRCC3 3
692 #define CADRCC4 4
693 #define CADRCC5 5
694 #define CADRCC6 6
695 #define CADRCC7 7
696 
697 #define CADRDC _SFR_MEM8(0xEA)
698 #define CADRDC0 0
699 #define CADRDC1 1
700 #define CADRDC2 2
701 #define CADRDC3 3
702 #define CADRDC4 4
703 #define CADRDC5 5
704 #define CADRDC6 6
705 #define CADRDC7 7
706 
707 #define FCSR _SFR_MEM8(0xF0)
708 #define CFE 0
709 #define DFE 1
710 #define CPS 2
711 #define DUVRD 3
712 
713 #define CBCR _SFR_MEM8(0xF1)
714 #define CBE1 0
715 #define CBE2 1
716 #define CBE3 2
717 #define CBE4 3
718 
719 #define BPIMSK _SFR_MEM8(0xF2)
720 #define CHCIE 0
721 #define DHCIE 1
722 #define COCIE 2
723 #define DOCIE 3
724 #define SCIE 4
725 
726 #define BPIFR _SFR_MEM8(0xF3)
727 #define CHCIF 0
728 #define DHCIF 1
729 #define COCIF 2
730 #define DOCIF 3
731 #define SCIF 4
732 
733 #define BPSCD _SFR_MEM8(0xF5)
734 #define SCDL0 0
735 #define SCDL1 1
736 #define SCDL2 2
737 #define SCDL3 3
738 #define SCDL4 4
739 #define SCDL5 5
740 #define SCDL6 6
741 #define SCDL7 7
742 
743 #define BPDOCD _SFR_MEM8(0xF6)
744 #define DOCDL0 0
745 #define DOCDL1 1
746 #define DOCDL2 2
747 #define DOCDL3 3
748 #define DOCDL4 4
749 #define DOCDL5 5
750 #define DOCDL6 6
751 #define DOCDL7 7
752 
753 #define BPCOCD _SFR_MEM8(0xF7)
754 #define COCDL0 0
755 #define COCDL1 1
756 #define COCDL2 2
757 #define COCDL3 3
758 #define COCDL4 4
759 #define COCDL5 5
760 #define COCDL6 6
761 #define COCDL7 7
762 
763 #define BPDHCD _SFR_MEM8(0xF8)
764 #define DHCDL0 0
765 #define DHCDL1 1
766 #define DHCDL2 2
767 #define DHCDL3 3
768 #define DHCDL4 4
769 #define DHCDL5 5
770 #define DHCDL6 6
771 #define DHCDL7 7
772 
773 #define BPCHCD _SFR_MEM8(0xF9)
774 #define CHCDL0 0
775 #define CHCDL1 1
776 #define CHCDL2 2
777 #define CHCDL3 3
778 #define CHCDL4 4
779 #define CHCDL5 5
780 #define CHCDL6 6
781 #define CHCDL7 7
782 
783 #define BPSCTR _SFR_MEM8(0xFA)
784 #define SCPT0 0
785 #define SCPT1 1
786 #define SCPT2 2
787 #define SCPT3 3
788 #define SCPT4 4
789 #define SCPT5 5
790 #define SCPT6 6
791 
792 #define BPOCTR _SFR_MEM8(0xFB)
793 #define OCPT0 0
794 #define OCPT1 1
795 #define OCPT2 2
796 #define OCPT3 3
797 #define OCPT4 4
798 #define OCPT5 5
799 
800 #define BPHCTR _SFR_MEM8(0xFC)
801 #define HCPT0 0
802 #define HCPT1 1
803 #define HCPT2 2
804 #define HCPT3 3
805 #define HCPT4 4
806 #define HCPT5 5
807 
808 #define BPCR _SFR_MEM8(0xFD)
809 #define CHCD 0
810 #define DHCD 1
811 #define COCD 2
812 #define DOCD 3
813 #define SCD 4
814 #define EPID 5
815 
816 #define BPPLR _SFR_MEM8(0xFE)
817 #define BPPL 0
818 #define BPPLE 1
819 
820 
821 /* Interrupt vectors */
822 /* Vector 0 is the reset vector */
823 #define BPINT_vect_num 1
824 #define BPINT_vect _VECTOR(1) /* Battery Protection Interrupt */
825 #define VREGMON_vect_num 2
826 #define VREGMON_vect _VECTOR(2) /* Voltage regulator monitor interrupt */
827 #define INT0_vect_num 3
828 #define INT0_vect _VECTOR(3) /* External Interrupt Request 0 */
829 #define INT1_vect_num 4
830 #define INT1_vect _VECTOR(4) /* External Interrupt Request 1 */
831 #define INT2_vect_num 5
832 #define INT2_vect _VECTOR(5) /* External Interrupt Request 2 */
833 #define INT3_vect_num 6
834 #define INT3_vect _VECTOR(6) /* External Interrupt Request 3 */
835 #define PCINT0_vect_num 7
836 #define PCINT0_vect _VECTOR(7) /* Pin Change Interrupt 0 */
837 #define PCINT1_vect_num 8
838 #define PCINT1_vect _VECTOR(8) /* Pin Change Interrupt 1 */
839 #define WDT_vect_num 9
840 #define WDT_vect _VECTOR(9) /* Watchdog Timeout Interrupt */
841 #define BGSCD_vect_num 10
842 #define BGSCD_vect _VECTOR(10) /* Bandgap Buffer Short Circuit Detected */
843 #define CHDET_vect_num 11
844 #define CHDET_vect _VECTOR(11) /* Charger Detect */
845 #define TIMER1_IC_vect_num 12
846 #define TIMER1_IC_vect _VECTOR(12) /* Timer 1 Input capture */
847 #define TIMER1_COMPA_vect_num 13
848 #define TIMER1_COMPA_vect _VECTOR(13) /* Timer 1 Compare Match A */
849 #define TIMER1_COMPB_vect_num 14
850 #define TIMER1_COMPB_vect _VECTOR(14) /* Timer 1 Compare Match B */
851 #define TIMER1_OVF_vect_num 15
852 #define TIMER1_OVF_vect _VECTOR(15) /* Timer 1 overflow */
853 #define TIMER0_IC_vect_num 16
854 #define TIMER0_IC_vect _VECTOR(16) /* Timer 0 Input Capture */
855 #define TIMER0_COMPA_vect_num 17
856 #define TIMER0_COMPA_vect _VECTOR(17) /* Timer 0 Comapre Match A */
857 #define TIMER0_COMPB_vect_num 18
858 #define TIMER0_COMPB_vect _VECTOR(18) /* Timer 0 Compare Match B */
859 #define TIMER0_OVF_vect_num 19
860 #define TIMER0_OVF_vect _VECTOR(19) /* Timer 0 Overflow */
861 #define TWIBUSCD_vect_num 20
862 #define TWIBUSCD_vect _VECTOR(20) /* Two-Wire Bus Connect/Disconnect */
863 #define TWI_vect_num 21
864 #define TWI_vect _VECTOR(21) /* Two-Wire Serial Interface */
865 #define SPI_STC_vect_num 22
866 #define SPI_STC_vect _VECTOR(22) /* SPI Serial transfer complete */
867 #define VADC_vect_num 23
868 #define VADC_vect _VECTOR(23) /* Voltage ADC Conversion Complete */
869 #define CCADC_CONV_vect_num 24
870 #define CCADC_CONV_vect _VECTOR(24) /* Coulomb Counter ADC Conversion Complete */
871 #define CCADC_REG_CUR_vect_num 25
872 #define CCADC_REG_CUR_vect _VECTOR(25) /* Coloumb Counter ADC Regular Current */
873 #define CCADC_ACC_vect_num 26
874 #define CCADC_ACC_vect _VECTOR(26) /* Coloumb Counter ADC Accumulator */
875 #define EE_READY_vect_num 27
876 #define EE_READY_vect _VECTOR(27) /* EEPROM Ready */
877 #define SPM_vect_num 28
878 #define SPM_vect _VECTOR(28) /* SPM Ready */
879 
880 #define _VECTOR_SIZE 4 /* Size of individual vector. */
881 #define _VECTORS_SIZE (29 * _VECTOR_SIZE)
882 
883 
884 /* Constants */
885 #define SPM_PAGESIZE (128)
886 #define RAMSTART (0x100)
887 #define RAMSIZE (1024)
888 #define RAMEND (RAMSTART + RAMSIZE - 1)
889 #define XRAMSTART (NA)
890 #define XRAMSIZE (NA)
891 #define XRAMEND (RAMEND)
892 #define E2END (0x1FF)
893 #define E2PAGESIZE (4)
894 #define FLASHEND (0x3FFF)
895 
896 
897 /* Fuses */
898 #define FUSE_MEMORY_SIZE 2
899 
900 /* Low Fuse Byte */
901 #define FUSE_OSCSEL0 (unsigned char)~_BV(0) /* Oscillator Select */
902 #define FUSE_OSCSEL1 (unsigned char)~_BV(1) /* Oscillator Select */
903 #define FUSE_SUT0 (unsigned char)~_BV(2) /* Select start-up time */
904 #define FUSE_SUT1 (unsigned char)~_BV(3) /* Select start-up time */
905 #define FUSE_SUT2 (unsigned char)~_BV(4) /* Select start-up time */
906 #define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */
907 #define FUSE_EESAVE (unsigned char)~_BV(6) /* EEPROM memory is preserved through chip erase */
908 #define FUSE_WDTON (unsigned char)~_BV(7) /* Watchdog Timer Always On */
909 #define LFUSE_DEFAULT (FUSE_SPIEN & FUSE_OSCSEL0)
910 
911 /* High Fuse Byte */
912 #define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */
913 #define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */
914 #define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */
915 #define FUSE_DWEN (unsigned char)~_BV(3) /* Enable debugWire */
916 #define FUSE_DUVRDINIT (unsigned char)~_BV(4) /* Reset Value of DUVRDRegister */
917 #define HFUSE_DEFAULT (FUSE_DUVRDINIT & FUSE_BOOTSZ1 & FUSE_BOOTSZ0)
918 
919 
920 /* Lock Bits */
921 #define __LOCK_BITS_EXIST
922 #define __BOOT_LOCK_BITS_0_EXIST
923 #define __BOOT_LOCK_BITS_1_EXIST
924 
925 
926 /* Signature */
927 #define SIGNATURE_0 0x1E
928 #define SIGNATURE_1 0x94
929 #define SIGNATURE_2 0x0D
930 
931 
932 /* Device Pin Definitions */
933 #define PV2_DDR DDRV
934 #define PV2_PORT PORTV
935 #define PV2_PIN PINV
936 #define PV2_BIT 2
937 
938 #define PV1_DDR DDRV
939 #define PV1_PORT PORTV
940 #define PV1_PIN PINV
941 #define PV1_BIT 1
942 
943 #define NV_DDR DDRNV
944 #define NV_PORT PORTNV
945 #define NV_PIN PINNV
946 #define NV_BIT NV
947 
948 #define VFET_DDR DDRVFET
949 #define VFET_PORT PORTVFET
950 #define VFET_PIN PINVFET
951 #define VFET_BIT VFET
952 
953 #define CF1P_DDR DDRCF1P
954 #define CF1P_PORT PORTCF1P
955 #define CF1P_PIN PINCF1P
956 #define CF1P_BIT CF1P
957 
958 #define CF1N_DDR DDRCF1N
959 #define CF1N_PORT PORTCF1N
960 #define CF1N_PIN PINCF1N
961 #define CF1N_BIT CF1N
962 
963 #define CF2P_DDR DDRCF2P
964 #define CF2P_PORT PORTCF2P
965 #define CF2P_PIN PINCF2P
966 #define CF2P_BIT CF2P
967 
968 #define CF2N_DDR DDRCF2N
969 #define CF2N_PORT PORTCF2N
970 #define CF2N_PIN PINCF2N
971 #define CF2N_BIT CF2N
972 
973 #define VREG_DDR DDRVREG
974 #define VREG_PORT PORTVREG
975 #define VREG_PIN PINVREG
976 #define VREG_BIT VREG
977 
978 #define VREF_DDR DDRVREF
979 #define VREF_PORT PORTVREF
980 #define VREF_PIN PINVREF
981 #define VREF_BIT VREF
982 
983 #define VREFGND_DDR DDRVREFGND
984 #define VREFGND_PORT PORTVREFGND
985 #define VREFGND_PIN PINVREFGND
986 #define VREFGND_BIT VREFGND
987 
988 #define PI_DDR DDRI
989 #define PI_PORT PORTI
990 #define PI_PIN PINI
991 #define PI_BIT
992 
993 #define NI_DDR DDRNI
994 #define NI_PORT PORTNI
995 #define NI_PIN PINNI
996 #define NI_BIT NI
997 
998 #define PA0_DDR DDRA
999 #define PA0_PORT PORTA
1000 #define PA0_PIN PINA
1001 #define PA0_BIT 0
1002 
1003 #define PA1_DDR DDRA
1004 #define PA1_PORT PORTA
1005 #define PA1_PIN PINA
1006 #define PA1_BIT 1
1007 
1008 #define PA2_DDR DDRA
1009 #define PA2_PORT PORTA
1010 #define PA2_PIN PINA
1011 #define PA2_BIT 2
1012 
1013 #define PB0_DDR DDRB
1014 #define PB0_PORT PORTB
1015 #define PB0_PIN PINB
1016 #define PB0_BIT 0
1017 
1018 #define PB1_DDR DDRB
1019 #define PB1_PORT PORTB
1020 #define PB1_PIN PINB
1021 #define PB1_BIT 1
1022 
1023 #define PB2_DDR DDRB
1024 #define PB2_PORT PORTB
1025 #define PB2_PIN PINB
1026 #define PB2_BIT 2
1027 
1028 #define PB3_DDR DDRB
1029 #define PB3_PORT PORTB
1030 #define PB3_PIN PINB
1031 #define PB3_BIT 3
1032 
1033 #define PC0_DDR DDRC
1034 #define PC0_PORT PORTC
1035 #define PC0_PIN PINC
1036 #define PC0_BIT 0
1037 
1038 #define BATT_DDR DDRBATT
1039 #define BATT_PORT PORTBATT
1040 #define BATT_PIN PINBATT
1041 #define BATT_BIT BATT
1042 
1043 #define OC_DDR DDROC
1044 #define OC_PORT PORTOC
1045 #define OC_PIN PINOC
1046 #define OC_BIT OC
1047 
1049 #endif /* _AVR_ATmega16HVB_H_ */