50
50
/* Registers and associated bit numbers */
52
/* The bit numbers for the Port A-G registers are defined in <avr/portpins.h> */
53
#define PINA _SFR_IO8(0X00)
54
#define DDRA _SFR_IO8(0X01)
55
#define PORTA _SFR_IO8(0X02)
57
#define PINB _SFR_IO8(0X03)
52
#define PINA _SFR_IO8(0x00)
62
#define DDRA _SFR_IO8(0x01)
72
#define PORTA _SFR_IO8(0x02)
82
#define PINB _SFR_IO8(0x03)
58
92
#define DDRB _SFR_IO8(0x04)
59
102
#define PORTB _SFR_IO8(0x05)
61
112
#define PINC _SFR_IO8(0x06)
62
122
#define DDRC _SFR_IO8(0x07)
63
132
#define PORTC _SFR_IO8(0x08)
65
142
#define PIND _SFR_IO8(0x09)
66
152
#define DDRD _SFR_IO8(0x0A)
67
162
#define PORTD _SFR_IO8(0x0B)
69
172
#define PINE _SFR_IO8(0x0C)
70
182
#define DDRE _SFR_IO8(0x0D)
71
192
#define PORTE _SFR_IO8(0x0E)
73
202
#define PINF _SFR_IO8(0x0F)
74
212
#define DDRF _SFR_IO8(0x10)
75
222
#define PORTF _SFR_IO8(0x11)
77
232
#define PING _SFR_IO8(0x12)
78
240
#define DDRG _SFR_IO8(0x13)
79
247
#define PORTG _SFR_IO8(0x14)
81
254
#define TIFR0 _SFR_IO8(0x15)
525
691
/* Reserved [0xC7..0xD7] */
527
693
#define PINH _SFR_MEM8(0xD8)
528
703
#define DDRH _SFR_MEM8(0xD9)
529
713
#define PORTH _SFR_MEM8(0xDA)
531
723
#define PINJ _SFR_MEM8(0xDB)
532
732
#define DDRJ _SFR_MEM8(0xDC)
533
741
#define PORTJ _SFR_MEM8(0xDD)
535
750
/* Reserved [0xDE..0xFF] */
538
753
/* Interrupt vectors */
539
754
/* Vector 0 is the reset vector */
540
#define SIG_INTERRUPT0 _VECTOR(1)
541
#define SIG_PIN_CHANGE0 _VECTOR(2)
542
#define SIG_PIN_CHANGE1 _VECTOR(3)
543
#define SIG_OUTPUT_COMPARE2 _VECTOR(4)
544
#define SIG_OVERFLOW2 _VECTOR(5)
545
#define SIG_INPUT_CAPTURE1 _VECTOR(6)
546
#define SIG_OUTPUT_COMPARE1A _VECTOR(7)
547
#define SIG_OUTPUT_COMPARE1B _VECTOR(8)
548
#define SIG_OVERFLOW1 _VECTOR(9)
549
#define SIG_OUTPUT_COMPARE0 _VECTOR(10)
550
#define SIG_OVERFLOW0 _VECTOR(11)
551
#define SIG_SPI _VECTOR(12)
552
#define SIG_UART_RECV _VECTOR(13)
553
#define SIG_UART_DATA _VECTOR(14)
554
#define SIG_UART_TRANS _VECTOR(15)
555
#define SIG_USI_START _VECTOR(16)
556
#define SIG_USI_OVERFLOW _VECTOR(17)
557
#define SIG_COMPARATOR _VECTOR(18)
558
#define SIG_ADC _VECTOR(19)
559
#define SIG_EEPROM_READY _VECTOR(20)
560
#define SIG_SPM_READY _VECTOR(21)
561
/* Vector 22 is Reserved */
562
#define SIG_PIN_CHANGE2 _VECTOR(23)
563
#define SIG_PIN_CHANGE3 _VECTOR(24)
755
/* External Interrupt Request 0 */
756
#define INT0_vect _VECTOR(1)
757
#define SIG_INTERRUPT0 _VECTOR(1)
759
/* Pin Change Interrupt Request 0 */
760
#define PCINT0_vect _VECTOR(2)
761
#define SIG_PIN_CHANGE0 _VECTOR(2)
763
/* Pin Change Interrupt Request 1 */
764
#define PCINT1_vect _VECTOR(3)
765
#define SIG_PIN_CHANGE1 _VECTOR(3)
767
/* Timer/Counter2 Compare Match */
768
#define TIMER2_COMP_vect _VECTOR(4)
769
#define SIG_OUTPUT_COMPARE2 _VECTOR(4)
771
/* Timer/Counter2 Overflow */
772
#define TIMER2_OVF_vect _VECTOR(5)
773
#define SIG_OVERFLOW2 _VECTOR(5)
775
/* Timer/Counter1 Capture Event */
776
#define TIMER1_CAPT_vect _VECTOR(6)
777
#define SIG_INPUT_CAPTURE1 _VECTOR(6)
779
/* Timer/Counter1 Compare Match A */
780
#define TIMER1_COMPA_vect _VECTOR(7)
781
#define SIG_OUTPUT_COMPARE1A _VECTOR(7)
783
/* Timer/Counter Compare Match B */
784
#define TIMER1_COMPB_vect _VECTOR(8)
785
#define SIG_OUTPUT_COMPARE1B _VECTOR(8)
787
/* Timer/Counter1 Overflow */
788
#define TIMER1_OVF_vect _VECTOR(9)
789
#define SIG_OVERFLOW1 _VECTOR(9)
791
/* Timer/Counter0 Compare Match */
792
#define TIMER0_COMP_vect _VECTOR(10)
793
#define SIG_OUTPUT_COMPARE0 _VECTOR(10)
795
/* Timer/Counter0 Overflow */
796
#define TIMER0_OVF_vect _VECTOR(11)
797
#define SIG_OVERFLOW0 _VECTOR(11)
799
/* SPI Serial Transfer Complete */
800
#define SPI_STC_vect _VECTOR(12)
801
#define SIG_SPI _VECTOR(12)
803
/* USART, Rx Complete */
804
#define USART_RX_vect _VECTOR(13)
805
#define SIG_UART_RECV _VECTOR(13)
807
/* USART Data register Empty */
808
#define USART_UDRE_vect _VECTOR(14)
809
#define SIG_UART_DATA _VECTOR(14)
811
/* USART0, Tx Complete */
812
#define USART0_TX_vect _VECTOR(15)
813
#define SIG_UART_TRANS _VECTOR(15)
815
/* USI Start Condition */
816
#define USI_START_vect _VECTOR(16)
817
#define SIG_USI_START _VECTOR(16)
820
#define USI_OVERFLOW_vect _VECTOR(17)
821
#define SIG_USI_OVERFLOW _VECTOR(17)
823
/* Analog Comparator */
824
#define ANALOG_COMP_vect _VECTOR(18)
825
#define SIG_COMPARATOR _VECTOR(18)
827
/* ADC Conversion Complete */
828
#define ADC_vect _VECTOR(19)
829
#define SIG_ADC _VECTOR(19)
832
#define EE_READY_vect _VECTOR(20)
833
#define SIG_EEPROM_READY _VECTOR(20)
835
/* Store Program Memory Read */
836
#define SPM_READY_vect _VECTOR(21)
837
#define SIG_SPM_READY _VECTOR(21)
839
/* Pin Change Interrupt Request 2 */
840
#define PCINT2_vect _VECTOR(23)
841
#define SIG_PIN_CHANGE2 _VECTOR(23)
843
/* Pin Change Interrupt Request 3 */
844
#define PCINT3_vect _VECTOR(24)
845
#define SIG_PIN_CHANGE3 _VECTOR(24)
565
847
#define _VECTORS_SIZE 100