/* PORT definitions */ #define PORTA (*((volatile unsigned char*)(0x0000))) #define pPORTA ((volatile unsigned char*)(0x0000)) #define DDRA (*((volatile unsigned char*)(0x0002))) #define PORTB (*((volatile unsigned char*)(0x0001))) #define DDRB (*((volatile unsigned char*)(0x0003))) #define PORTE (*((volatile unsigned char*)(0x0008))) #define DDRE (*((volatile unsigned char*)(0x0009))) #define PUCR (*((volatile unsigned char*)(0x000C))) #define PORTK (*((volatile unsigned char*)(0x0032))) #define DDRK (*((volatile unsigned char*)(0x0033))) #define PTT (*((volatile unsigned char*)(0x0240))) #define pPTT ((volatile unsigned char*)(0x0240)) #define PTIT (*((volatile unsigned char*)(0x0241))) #define DDRT (*((volatile unsigned char*)(0x0242))) #define RDRT (*((volatile unsigned char*)(0x0243))) #define PERT (*((volatile unsigned char*)(0x0244))) #define PPST (*((volatile unsigned char*)(0x0245))) #define MODRR (*((volatile unsigned char*)(0x0247))) #define PTS (*((volatile unsigned char*)(0x0248))) #define DDRS (*((volatile unsigned char*)(0x024A))) #define PERS (*((volatile unsigned char*)(0x024C))) #define PTM (*((volatile unsigned char*)(0x0250))) #define pPTM ((volatile unsigned char*)(0x0250)) #define DDRM (*((volatile unsigned char*)(0x0252))) #define PTP (*((volatile unsigned char*)(0x0258))) #define DDRP (*((volatile unsigned char*)(0x025A))) #define PERP (*((volatile unsigned char*)(0x025C))) #define PTH (*((volatile unsigned char*)(0x0260))) #define DDRH (*((volatile unsigned char*)(0x0262))) #define PTJ (*((volatile unsigned char*)(0x0268))) #define DDRJ (*((volatile unsigned char*)(0x026A))) #define PERJ (*((volatile unsigned char*)(0x026C))) /* PPAGE register */ #define PPAGE (*((volatile unsigned char*)(0x0030))) /* HPRIO Interrupt Reg */ #define HPRIO (*((volatile unsigned char*)(0x001F))) /* CRG/PLL definitions */ #define SYNR (*((volatile unsigned char*)(0x0034))) #define REFDV (*((volatile unsigned char*)(0x0035))) #define CRGFLG (*((volatile unsigned char*)(0x0037))) #define CRGINT (*((volatile unsigned char*)(0x0038))) #define CLKSEL (*((volatile unsigned char*)(0x0039))) #define PLLCTL (*((volatile unsigned char*)(0x003A))) #define RTICTL (*((volatile unsigned char*)(0x003B))) #define COPCTL (*((volatile unsigned char*)(0x003C))) #define ARMCOP (*((volatile unsigned char*)(0x003F))) /* Flash regs */ #define FCLKDIV (*((volatile unsigned char*)(0x0100))) #define FSEC (*((volatile unsigned char*)(0x0101))) #define FCNFG (*((volatile unsigned char*)(0x0103))) #define FPROT (*((volatile unsigned char*)(0x0104))) #define FSTAT (*((volatile unsigned char*)(0x0105))) #define FCMD (*((volatile unsigned char*)(0x0106))) /* Timer definitions */ #define TIOS (*((volatile unsigned char*)(0x0040))) #define CFORC (*((volatile unsigned char*)(0x0041))) #define OC7M (*((volatile unsigned char*)(0x0042))) #define OC7D (*((volatile unsigned char*)(0x0043))) #define TCNT (*((volatile unsigned short*)(0x0044))) #define TSCR1 (*((volatile unsigned char*)(0x0046))) #define TTOV (*((volatile unsigned char*)(0x0047))) #define TCTL1 (*((volatile unsigned char*)(0x0048))) #define TCTL2 (*((volatile unsigned char*)(0x0049))) #define TCTL3 (*((volatile unsigned char*)(0x004A))) #define TCTL4 (*((volatile unsigned char*)(0x004B))) #define TIE (*((volatile unsigned char*)(0x004C))) #define TSCR2 (*((volatile unsigned char*)(0x004D))) #define TFLG1 (*((volatile unsigned char*)(0x004E))) #define TFLG2 (*((volatile unsigned char*)(0x004F))) #define TC0 (*((volatile unsigned short*)(0x0050))) #define TC1 (*((volatile unsigned short*)(0x0052))) #define TC2 (*((volatile unsigned short*)(0x0054))) #define TC3 (*((volatile unsigned short*)(0x0056))) #define TC4 (*((volatile unsigned short*)(0x0058))) #define TC5 (*((volatile unsigned short*)(0x005A))) #define TC6 (*((volatile unsigned short*)(0x005C))) #define TC7 (*((volatile unsigned short*)(0x005E))) #define pTC0 ((volatile unsigned short*)(0x0050)) #define pTC1 ((volatile unsigned short*)(0x0052)) #define pTC2 ((volatile unsigned short*)(0x0054)) #define pTC3 ((volatile unsigned short*)(0x0056)) #define pTC4 ((volatile unsigned short*)(0x0058)) #define pTC5 ((volatile unsigned short*)(0x005A)) #define pTC6 ((volatile unsigned short*)(0x005C)) #define pTC7 ((volatile unsigned short*)(0x005E)) #define PACTL (*((volatile unsigned char*)(0x0060))) #define PAFLG (*((volatile unsigned char*)(0x0061))) #define MCCTL (*((volatile unsigned char*)(0x0066))) #define MCFLG (*((volatile unsigned char*)(0x0067))) #define MCCNT (*((volatile unsigned short*)(0x0076))) /* PWM definitions */ #define PWME (*((volatile unsigned char*)(0x00E0))) #define PWMPOL (*((volatile unsigned char*)(0x00E1))) #define PWMCLK (*((volatile unsigned char*)(0x00E2))) #define PWMPRCLK (*((volatile unsigned char*)(0x00E3))) #define PWMCAE (*((volatile unsigned char*)(0x00E4))) #define PWMCNT0 (*((volatile unsigned char*)(0x00EC))) #define PWMCNT1 (*((volatile unsigned char*)(0x00ED))) #define PWMCNT2 (*((volatile unsigned char*)(0x00EE))) #define PWMCNT3 (*((volatile unsigned char*)(0x00EF))) #define PWMCNT4 (*((volatile unsigned char*)(0x00F0))) #define PWMPER0 (*((volatile unsigned char*)(0x00F2))) #define PWMPER1 (*((volatile unsigned char*)(0x00F3))) #define PWMPER2 (*((volatile unsigned char*)(0x00F4))) #define PWMPER3 (*((volatile unsigned char*)(0x00F5))) #define PWMPER4 (*((volatile unsigned char*)(0x00F6))) #define PWMDTY0 (*((volatile unsigned char*)(0x00F8))) #define PWMDTY1 (*((volatile unsigned char*)(0x00F9))) #define PWMDTY2 (*((volatile unsigned char*)(0x00FA))) #define PWMDTY3 (*((volatile unsigned char*)(0x00FB))) #define PWMDTY4 (*((volatile unsigned char*)(0x00FC))) #define PWMSCLA (*((volatile unsigned char*)(0x00E8))) #define PWMSCLB (*((volatile unsigned char*)(0x00E9))) /* ATD0 (ADC) definitions */ #define ATD0CTL0 (*((volatile unsigned char*)(0x0080))) #define ATD0CTL1 (*((volatile unsigned char*)(0x0081))) #define ATD0CTL2 (*((volatile unsigned char*)(0x0082))) #define ATD0CTL3 (*((volatile unsigned char*)(0x0083))) #define ATD0CTL4 (*((volatile unsigned char*)(0x0084))) #define ATD0CTL5 (*((volatile unsigned char*)(0x0085))) #define ATD0STAT0 (*((volatile unsigned char*)(0x0086))) #define ATD0STAT1 (*((volatile unsigned char*)(0x008B))) #define ATD0DIEN (*((volatile unsigned char*)(0x008D))) #define PORTAD0 (*((volatile unsigned char*)(0x008F))) #define ATD0DR0 (*((volatile unsigned short*)(0x0090))) #define ATD0DR1 (*((volatile unsigned short*)(0x0092))) #define ATD0DR2 (*((volatile unsigned short*)(0x0094))) #define ATD0DR3 (*((volatile unsigned short*)(0x0096))) #define ATD0DR4 (*((volatile unsigned short*)(0x0098))) #define ATD0DR5 (*((volatile unsigned short*)(0x009A))) #define ATD0DR6 (*((volatile unsigned short*)(0x009C))) #define ATD0DR7 (*((volatile unsigned short*)(0x009E))) /* SCI0 definitions */ #define SCI0BDH (*((volatile unsigned char*)(0x00C8))) #define SCI0BDL (*((volatile unsigned char*)(0x00C9))) #define SCI0CR1 (*((volatile unsigned char*)(0x00CA))) #define SCI0CR2 (*((volatile unsigned char*)(0x00CB))) #define SCI0SR1 (*((volatile unsigned char*)(0x00CC))) #define SCI0DRL (*((volatile unsigned char*)(0x00CF))) /* SPI definitions */ #define SPI0CR1 (*((volatile unsigned char*)(0x00D8))) #define SPI0CR2 (*((volatile unsigned char*)(0x00D9))) #define SPI0BR (*((volatile unsigned char*)(0x00DA))) #define SPI0SR (*((volatile unsigned char*)(0x00DB))) #define SPI0DR (*((volatile unsigned char*)(0x00DD))) /* CAN section */ #define CAN_BASE ((volatile unsigned char*)0x0140) #define CANCTL0 CAN_BASE[0x0] #define CANCTL1 CAN_BASE[0x1] #define CANBTR0 CAN_BASE[0x2] #define CANBTR1 CAN_BASE[0x3] #define CANRFLG CAN_BASE[0x4] #define CANRIER CAN_BASE[0x5] #define CANTFLG CAN_BASE[0x6] #define CANTIER CAN_BASE[0x7] #define CANTARQ CAN_BASE[0x8] #define CANTAAK CAN_BASE[0x9] #define CANTBSEL CAN_BASE[0xA] #define CANIDAC CAN_BASE[0xB] #define CANRXERR CAN_BASE[0xE] #define CANTXERR CAN_BASE[0xF] #define CANIDAR0 CAN_BASE[0x10] #define CANIDAR1 CAN_BASE[0x11] #define CANIDAR2 CAN_BASE[0x12] #define CANIDAR3 CAN_BASE[0x13] #define CANIDAR4 CAN_BASE[0x18] #define CANIDAR5 CAN_BASE[0x19] #define CANIDAR6 CAN_BASE[0x1A] #define CANIDAR7 CAN_BASE[0x1B] #define CANIDMR0 CAN_BASE[0x14] #define CANIDMR1 CAN_BASE[0x15] #define CANIDMR2 CAN_BASE[0x16] #define CANIDMR3 CAN_BASE[0x17] #define CANIDMR4 CAN_BASE[0x1C] #define CANIDMR5 CAN_BASE[0x1D] #define CANIDMR6 CAN_BASE[0x1E] #define CANIDMR7 CAN_BASE[0x1F] #define CAN_RB_IDR0 CAN_BASE[0x20] #define CAN_RB_IDR1 CAN_BASE[0x21] #define CAN_RB_IDR2 CAN_BASE[0x22] #define CAN_RB_IDR3 CAN_BASE[0x23] #define CAN_RB_DSR0 CAN_BASE[0x24] #define CAN_RB_DSR1 CAN_BASE[0x25] #define CAN_RB_DSR2 CAN_BASE[0x26] #define CAN_RB_DSR3 CAN_BASE[0x27] #define CAN_RB_DSR4 CAN_BASE[0x28] #define CAN_RB_DSR5 CAN_BASE[0x29] #define CAN_RB_DSR6 CAN_BASE[0x2A] #define CAN_RB_DSR7 CAN_BASE[0x2B] #define CAN_RB_DLR CAN_BASE[0x2C] #define CAN_RB_TBPR CAN_BASE[0x2D] #define CAN_TB0_IDR0 CAN_BASE[0x30] #define CAN_TB0_IDR1 CAN_BASE[0x31] #define CAN_TB0_IDR2 CAN_BASE[0x32] #define CAN_TB0_IDR3 CAN_BASE[0x33] #define CAN_TB0_DSR0 CAN_BASE[0x34] #define CAN_TB0_DSR1 CAN_BASE[0x35] #define CAN_TB0_DSR2 CAN_BASE[0x36] #define CAN_TB0_DSR3 CAN_BASE[0x37] #define CAN_TB0_DSR4 CAN_BASE[0x38] #define CAN_TB0_DSR5 CAN_BASE[0x39] #define CAN_TB0_DSR6 CAN_BASE[0x3A] #define CAN_TB0_DSR7 CAN_BASE[0x3B] #define CAN_TB0_DLR CAN_BASE[0x3C] #define CAN_TB0_TBPR CAN_BASE[0x3D]