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
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_ */
Generated by
1.8.13