X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device%2Finclude%2Fpic16%2Fpic18f242.h;h=25ed06b0d341f93ab1fc7b54c6c7482e5f6ff57f;hb=bb226788dab3832b0ec0cda70874ce3fce4eebc6;hp=d59abb91eab68c788e4433904ab0e4a4676c04c1;hpb=598bef345bc5244b5ba07f7b70c92e348299ac84;p=fw%2Fsdcc diff --git a/device/include/pic16/pic18f242.h b/device/include/pic16/pic18f242.h index d59abb91..25ed06b0 100644 --- a/device/include/pic16/pic18f242.h +++ b/device/include/pic16/pic18f242.h @@ -1,6 +1,6 @@ /* - * pic18f242.h - 18F242 Device Library Header + * pic18f242.h - PIC18F242 Device Library Header * * This file is part of the GNU PIC Library. * @@ -15,7 +15,7 @@ #ifndef __PIC18F242_H__ #define __PIC18F242_H__ -extern sfr at 0xf80 PORTA; +extern __sfr __at (0xf80) PORTA; typedef union { struct { unsigned RA0:1; @@ -60,11 +60,11 @@ typedef union { unsigned :1; unsigned :1; }; -} PORTAbits_t; +} __PORTAbits_t; -extern volatile PORTAbits_t at 0xf80 PORTAbits; +extern volatile __PORTAbits_t __at (0xf80) PORTAbits; -extern sfr at 0xf81 PORTB; +extern __sfr __at (0xf81) PORTB; typedef union { struct { unsigned RB0:1; @@ -87,11 +87,11 @@ typedef union { unsigned :1; unsigned :1; }; -} PORTBbits_t; +} __PORTBbits_t; -extern volatile PORTBbits_t at 0xf81 PORTBbits; +extern volatile __PORTBbits_t __at (0xf81) PORTBbits; -extern sfr at 0xf82 PORTC; +extern __sfr __at (0xf82) PORTC; typedef union { struct { unsigned RC0:1; @@ -125,11 +125,11 @@ typedef union { unsigned CK:1; unsigned DT:1; }; -} PORTCbits_t; +} __PORTCbits_t; -extern volatile PORTCbits_t at 0xf82 PORTCbits; +extern volatile __PORTCbits_t __at (0xf82) PORTCbits; -extern sfr at 0xf89 LATA; +extern __sfr __at (0xf89) LATA; typedef union { struct { unsigned LATA0:1; @@ -141,11 +141,11 @@ typedef union { unsigned LATA6:1; unsigned :1; }; -} LATAbits_t; +} __LATAbits_t; -extern volatile LATAbits_t at 0xf89 LATAbits; +extern volatile __LATAbits_t __at (0xf89) LATAbits; -extern sfr at 0xf8a LATB; +extern __sfr __at (0xf8a) LATB; typedef union { struct { unsigned LATB0:1; @@ -157,11 +157,11 @@ typedef union { unsigned LATB6:1; unsigned LATB7:1; }; -} LATBbits_t; +} __LATBbits_t; -extern volatile LATBbits_t at 0xf8a LATBbits; +extern volatile __LATBbits_t __at (0xf8a) LATBbits; -extern sfr at 0xf8b LATC; +extern __sfr __at (0xf8b) LATC; typedef union { struct { unsigned LATC0:1; @@ -173,11 +173,11 @@ typedef union { unsigned LATC6:1; unsigned LATC7:1; }; -} LATCbits_t; +} __LATCbits_t; -extern volatile LATCbits_t at 0xf8b LATCbits; +extern volatile __LATCbits_t __at (0xf8b) LATCbits; -extern sfr at 0xf92 TRISA; +extern __sfr __at (0xf92) TRISA; typedef union { struct { unsigned TRISA0:1; @@ -189,11 +189,11 @@ typedef union { unsigned TRISA6:1; unsigned :1; }; -} TRISAbits_t; +} __TRISAbits_t; -extern volatile TRISAbits_t at 0xf92 TRISAbits; +extern volatile __TRISAbits_t __at (0xf92) TRISAbits; -extern sfr at 0xf93 TRISB; +extern __sfr __at (0xf93) TRISB; typedef union { struct { unsigned TRISB0:1; @@ -205,11 +205,11 @@ typedef union { unsigned TRISB6:1; unsigned TRISB7:1; }; -} TRISBbits_t; +} __TRISBbits_t; -extern volatile TRISBbits_t at 0xf93 TRISBbits; +extern volatile __TRISBbits_t __at (0xf93) TRISBbits; -extern sfr at 0xf94 TRISC; +extern __sfr __at (0xf94) TRISC; typedef union { struct { unsigned TRISC0:1; @@ -221,11 +221,11 @@ typedef union { unsigned TRISC6:1; unsigned TRISC7:1; }; -} TRISCbits_t; +} __TRISCbits_t; -extern volatile TRISCbits_t at 0xf94 TRISCbits; +extern volatile __TRISCbits_t __at (0xf94) TRISCbits; -extern sfr at 0xf9d PIE1; +extern __sfr __at (0xf9d) PIE1; typedef union { struct { unsigned TMR1IE:1; @@ -237,11 +237,11 @@ typedef union { unsigned ADIE:1; unsigned PSPIE:1; }; -} PIE1bits_t; +} __PIE1bits_t; -extern volatile PIE1bits_t at 0xf9d PIE1bits; +extern volatile __PIE1bits_t __at (0xf9d) PIE1bits; -extern sfr at 0xf9e PIR1; +extern __sfr __at (0xf9e) PIR1; typedef union { struct { unsigned TMR1IF:1; @@ -253,11 +253,11 @@ typedef union { unsigned ADIF:1; unsigned PSPIF:1; }; -} PIR1bits_t; +} __PIR1bits_t; -extern volatile PIR1bits_t at 0xf9e PIR1bits; +extern volatile __PIR1bits_t __at (0xf9e) PIR1bits; -extern sfr at 0xf9f IPR1; +extern __sfr __at (0xf9f) IPR1; typedef union { struct { unsigned TMR1IP:1; @@ -269,11 +269,11 @@ typedef union { unsigned ADIP:1; unsigned PSPIP:1; }; -} IPR1bits_t; +} __IPR1bits_t; -extern volatile IPR1bits_t at 0xf9f IPR1bits; +extern volatile __IPR1bits_t __at (0xf9f) IPR1bits; -extern sfr at 0xfa0 PIE2; +extern __sfr __at (0xfa0) PIE2; typedef union { struct { unsigned CCP2IE:1; @@ -285,11 +285,11 @@ typedef union { unsigned :1; unsigned :1; }; -} PIE2bits_t; +} __PIE2bits_t; -extern volatile PIE2bits_t at 0xfa0 PIE2bits; +extern volatile __PIE2bits_t __at (0xfa0) PIE2bits; -extern sfr at 0xfa1 PIR2; +extern __sfr __at (0xfa1) PIR2; typedef union { struct { unsigned CCP2IF:1; @@ -301,11 +301,11 @@ typedef union { unsigned :1; unsigned :1; }; -} PIR2bits_t; +} __PIR2bits_t; -extern volatile PIR2bits_t at 0xfa1 PIR2bits; +extern volatile __PIR2bits_t __at (0xfa1) PIR2bits; -extern sfr at 0xfa2 IPR2; +extern __sfr __at (0xfa2) IPR2; typedef union { struct { unsigned CCP2IP:1; @@ -317,11 +317,11 @@ typedef union { unsigned :1; unsigned :1; }; -} IPR2bits_t; +} __IPR2bits_t; -extern volatile IPR2bits_t at 0xfa2 IPR2bits; +extern volatile __IPR2bits_t __at (0xfa2) IPR2bits; -extern sfr at 0xfa6 EECON1; +extern __sfr __at (0xfa6) EECON1; typedef union { struct { unsigned RD:1; @@ -333,14 +333,14 @@ typedef union { unsigned CFGS:1; unsigned EEPGD:1; }; -} EECON1bits_t; +} __EECON1bits_t; -extern volatile EECON1bits_t at 0xfa6 EECON1bits; +extern volatile __EECON1bits_t __at (0xfa6) EECON1bits; -extern sfr at 0xfa7 EECON2; -extern sfr at 0xfa8 EEDATA; -extern sfr at 0xfa9 EEADR; -extern sfr at 0xfab RCSTA; +extern __sfr __at (0xfa7) EECON2; +extern __sfr __at (0xfa8) EEDATA; +extern __sfr __at (0xfa9) EEADR; +extern __sfr __at (0xfab) RCSTA; typedef union { struct { unsigned RX9D:1; @@ -352,11 +352,11 @@ typedef union { unsigned RX9:1; unsigned SPEN:1; }; -} RCSTAbits_t; +} __RCSTAbits_t; -extern volatile RCSTAbits_t at 0xfab RCSTAbits; +extern volatile __RCSTAbits_t __at (0xfab) RCSTAbits; -extern sfr at 0xfac TXSTA; +extern __sfr __at (0xfac) TXSTA; typedef union { struct { unsigned TX9D:1; @@ -368,14 +368,14 @@ typedef union { unsigned TX9:1; unsigned CSRC:1; }; -} TXSTAbits_t; +} __TXSTAbits_t; -extern volatile TXSTAbits_t at 0xfac TXSTAbits; +extern volatile __TXSTAbits_t __at (0xfac) TXSTAbits; -extern sfr at 0xfad TXREG; -extern sfr at 0xfae RCREG; -extern sfr at 0xfaf SPBRG; -extern sfr at 0xfb1 T3CON; +extern __sfr __at (0xfad) TXREG; +extern __sfr __at (0xfae) RCREG; +extern __sfr __at (0xfaf) SPBRG; +extern __sfr __at (0xfb1) T3CON; typedef union { struct { unsigned TMR3ON:1; @@ -387,13 +387,13 @@ typedef union { unsigned T3CCP2:1; unsigned RD16:1; }; -} T3CONbits_t; +} __T3CONbits_t; -extern volatile T3CONbits_t at 0xfb1 T3CONbits; +extern volatile __T3CONbits_t __at (0xfb1) T3CONbits; -extern sfr at 0xfb2 TMR3L; -extern sfr at 0xfb3 TMR3H; -extern sfr at 0xfba CCP2CON; +extern __sfr __at (0xfb2) TMR3L; +extern __sfr __at (0xfb3) TMR3H; +extern __sfr __at (0xfba) CCP2CON; typedef union { struct { unsigned CCP2M0:1; @@ -405,13 +405,13 @@ typedef union { unsigned :1; unsigned :1; }; -} CCP2CONbits_t; +} __CCP2CONbits_t; -extern volatile CCP2CONbits_t at 0xfba CCP2CONbits; +extern volatile __CCP2CONbits_t __at (0xfba) CCP2CONbits; -extern sfr at 0xfbb CCPR2L; -extern sfr at 0xfbc CCPR2H; -extern sfr at 0xfbd CCP1CON; +extern __sfr __at (0xfbb) CCPR2L; +extern __sfr __at (0xfbc) CCPR2H; +extern __sfr __at (0xfbd) CCP1CON; typedef union { struct { unsigned CCP1M0:1; @@ -423,13 +423,13 @@ typedef union { unsigned :1; unsigned :1; }; -} CCP1CONbits_t; +} __CCP1CONbits_t; -extern volatile CCP1CONbits_t at 0xfbd CCP1CONbits; +extern volatile __CCP1CONbits_t __at (0xfbd) CCP1CONbits; -extern sfr at 0xfbe CCPR1L; -extern sfr at 0xfbf CCPR1H; -extern sfr at 0xfc1 ADCON1; +extern __sfr __at (0xfbe) CCPR1L; +extern __sfr __at (0xfbf) CCPR1H; +extern __sfr __at (0xfc1) ADCON1; typedef union { struct { unsigned PCFG0:1; @@ -441,11 +441,11 @@ typedef union { unsigned ADCS2:1; unsigned ADFM:1; }; -} ADCON1bits_t; +} __ADCON1bits_t; -extern volatile ADCON1bits_t at 0xfc1 ADCON1bits; +extern volatile __ADCON1bits_t __at (0xfc1) ADCON1bits; -extern sfr at 0xfc2 ADCON0; +extern __sfr __at (0xfc2) ADCON0; typedef union { struct { unsigned ADON:1; @@ -457,13 +457,13 @@ typedef union { unsigned ADCS0:1; unsigned ADCS1:1; }; -} ADCON0bits_t; +} __ADCON0bits_t; -extern volatile ADCON0bits_t at 0xfc2 ADCON0bits; +extern volatile __ADCON0bits_t __at (0xfc2) ADCON0bits; -extern sfr at 0xfc3 ADRESL; -extern sfr at 0xfc4 ADRESH; -extern sfr at 0xfc5 SSPCON2; +extern __sfr __at (0xfc3) ADRESL; +extern __sfr __at (0xfc4) ADRESH; +extern __sfr __at (0xfc5) SSPCON2; typedef union { struct { unsigned SEN:1; @@ -475,11 +475,11 @@ typedef union { unsigned ACKSTAT:1; unsigned GCEN:1; }; -} SSPCON2bits_t; +} __SSPCON2bits_t; -extern volatile SSPCON2bits_t at 0xfc5 SSPCON2bits; +extern volatile __SSPCON2bits_t __at (0xfc5) SSPCON2bits; -extern sfr at 0xfc6 SSPCON1; +extern __sfr __at (0xfc6) SSPCON1; typedef union { struct { unsigned SSPM0:1; @@ -491,11 +491,11 @@ typedef union { unsigned SSPOV:1; unsigned WCOL:1; }; -} SSPCON1bits_t; +} __SSPCON1bits_t; -extern volatile SSPCON1bits_t at 0xfc6 SSPCON1bits; +extern volatile __SSPCON1bits_t __at (0xfc6) SSPCON1bits; -extern sfr at 0xfc7 SSPSTAT; +extern __sfr __at (0xfc7) SSPSTAT; typedef union { struct { unsigned BF:1; @@ -507,13 +507,13 @@ typedef union { unsigned CKE:1; unsigned SMP:1; }; -} SSPSTATbits_t; +} __SSPSTATbits_t; -extern volatile SSPSTATbits_t at 0xfc7 SSPSTATbits; +extern volatile __SSPSTATbits_t __at (0xfc7) SSPSTATbits; -extern sfr at 0xfc8 SSPADD; -extern sfr at 0xfc9 SSPBUF; -extern sfr at 0xfca T2CON; +extern __sfr __at (0xfc8) SSPADD; +extern __sfr __at (0xfc9) SSPBUF; +extern __sfr __at (0xfca) T2CON; typedef union { struct { unsigned T2CKPS0:1; @@ -525,13 +525,13 @@ typedef union { unsigned TOUTPS3:1; unsigned :1; }; -} T2CONbits_t; +} __T2CONbits_t; -extern volatile T2CONbits_t at 0xfca T2CONbits; +extern volatile __T2CONbits_t __at (0xfca) T2CONbits; -extern sfr at 0xfcb PR2; -extern sfr at 0xfcc TMR2; -extern sfr at 0xfcd T1CON; +extern __sfr __at (0xfcb) PR2; +extern __sfr __at (0xfcc) TMR2; +extern __sfr __at (0xfcd) T1CON; typedef union { struct { unsigned TMR1ON:1; @@ -543,13 +543,13 @@ typedef union { unsigned :1; unsigned RD16:1; }; -} T1CONbits_t; +} __T1CONbits_t; -extern volatile T1CONbits_t at 0xfcd T1CONbits; +extern volatile __T1CONbits_t __at (0xfcd) T1CONbits; -extern sfr at 0xfce TMR1L; -extern sfr at 0xfcf TMR1H; -extern sfr at 0xfd0 RCON; +extern __sfr __at (0xfce) TMR1L; +extern __sfr __at (0xfcf) TMR1H; +extern __sfr __at (0xfd0) RCON; typedef union { struct { unsigned BOR:1; @@ -561,11 +561,11 @@ typedef union { unsigned :1; unsigned IPEN:1; }; -} RCONbits_t; +} __RCONbits_t; -extern volatile RCONbits_t at 0xfd0 RCONbits; +extern volatile __RCONbits_t __at (0xfd0) RCONbits; -extern sfr at 0xfd1 WDTCON; +extern __sfr __at (0xfd1) WDTCON; typedef union { struct { unsigned SWDTEN:1; @@ -588,11 +588,11 @@ typedef union { unsigned :1; unsigned :1; }; -} WDTCONbits_t; +} __WDTCONbits_t; -extern volatile WDTCONbits_t at 0xfd1 WDTCONbits; +extern volatile __WDTCONbits_t __at (0xfd1) WDTCONbits; -extern sfr at 0xfd2 LVDCON; +extern __sfr __at (0xfd2) LVDCON; typedef union { struct { unsigned LVDL0:1; @@ -615,11 +615,11 @@ typedef union { unsigned :1; unsigned :1; }; -} LVDCONbits_t; +} __LVDCONbits_t; -extern volatile LVDCONbits_t at 0xfd2 LVDCONbits; +extern volatile __LVDCONbits_t __at (0xfd2) LVDCONbits; -extern sfr at 0xfd3 OSCCON; +extern __sfr __at (0xfd3) OSCCON; typedef union { struct { unsigned SCS:1; @@ -631,14 +631,29 @@ typedef union { unsigned :1; unsigned :1; }; -} OSCCONbits_t; +} __OSCCONbits_t; -extern volatile OSCCONbits_t at 0xfd3 OSCCONbits; +extern volatile __OSCCONbits_t __at (0xfd3) OSCCONbits; -extern sfr at 0xfd5 T0CON; -extern sfr at 0xfd6 TMR0L; -extern sfr at 0xfd7 TMR0H; -extern sfr at 0xfd8 STATUS; +extern __sfr __at (0xfd5) T0CON; +typedef union { + struct { + unsigned T0PS0:1; + unsigned T0PS1:1; + unsigned T0PS2:1; + unsigned PSA:1; + unsigned T0SE:1; + unsigned T0CS:1; + unsigned T08BIT:1; + unsigned TMR0ON:1; + }; +} __T0CONbits_t; + +extern volatile __T0CONbits_t __at (0xfd5) T0CONbits; + +extern __sfr __at (0xfd6) TMR0L; +extern __sfr __at (0xfd7) TMR0H; +extern __sfr __at (0xfd8) STATUS; typedef union { struct { unsigned C:1; @@ -650,34 +665,34 @@ typedef union { unsigned :1; unsigned :1; }; -} STATUSbits_t; +} __STATUSbits_t; -extern volatile STATUSbits_t at 0xfd8 STATUSbits; +extern volatile __STATUSbits_t __at (0xfd8) STATUSbits; -extern sfr at 0xfd9 FSR2L; -extern sfr at 0xfda FSR2H; -extern sfr at 0xfdb PLUSW2; -extern sfr at 0xfdc PREINC2; -extern sfr at 0xfdd POSTDEC2; -extern sfr at 0xfde POSTINC2; -extern sfr at 0xfdf INDF2; -extern sfr at 0xfe0 BSR; -extern sfr at 0xfe1 FSR1L; -extern sfr at 0xfe2 FSR1H; -extern sfr at 0xfe3 PLUSW1; -extern sfr at 0xfe4 PREINC1; -extern sfr at 0xfe5 POSTDEC1; -extern sfr at 0xfe6 POSTINC1; -extern sfr at 0xfe7 INDF1; -extern sfr at 0xfe8 WREG; -extern sfr at 0xfe9 FSR0L; -extern sfr at 0xfea FSR0H; -extern sfr at 0xfeb PLUSW0; -extern sfr at 0xfec PREINC0; -extern sfr at 0xfed POSTDEC0; -extern sfr at 0xfee POSTINC0; -extern sfr at 0xfef INDF0; -extern sfr at 0xff0 INTCON3; +extern __sfr __at (0xfd9) FSR2L; +extern __sfr __at (0xfda) FSR2H; +extern __sfr __at (0xfdb) PLUSW2; +extern __sfr __at (0xfdc) PREINC2; +extern __sfr __at (0xfdd) POSTDEC2; +extern __sfr __at (0xfde) POSTINC2; +extern __sfr __at (0xfdf) INDF2; +extern __sfr __at (0xfe0) BSR; +extern __sfr __at (0xfe1) FSR1L; +extern __sfr __at (0xfe2) FSR1H; +extern __sfr __at (0xfe3) PLUSW1; +extern __sfr __at (0xfe4) PREINC1; +extern __sfr __at (0xfe5) POSTDEC1; +extern __sfr __at (0xfe6) POSTINC1; +extern __sfr __at (0xfe7) INDF1; +extern __sfr __at (0xfe8) WREG; +extern __sfr __at (0xfe9) FSR0L; +extern __sfr __at (0xfea) FSR0H; +extern __sfr __at (0xfeb) PLUSW0; +extern __sfr __at (0xfec) PREINC0; +extern __sfr __at (0xfed) POSTDEC0; +extern __sfr __at (0xfee) POSTINC0; +extern __sfr __at (0xfef) INDF0; +extern __sfr __at (0xff0) INTCON3; typedef union { struct { unsigned INT1F:1; @@ -700,11 +715,11 @@ typedef union { unsigned INT1IP:1; unsigned INT2IP:1; }; -} INTCON3bits_t; +} __INTCON3bits_t; -extern volatile INTCON3bits_t at 0xff0 INTCON3bits; +extern volatile __INTCON3bits_t __at (0xff0) INTCON3bits; -extern sfr at 0xff1 INTCON2; +extern __sfr __at (0xff1) INTCON2; typedef union { struct { unsigned RBIP:1; @@ -716,11 +731,11 @@ typedef union { unsigned INTEDG0:1; unsigned RBPU:1; }; -} INTCON2bits_t; +} __INTCON2bits_t; -extern volatile INTCON2bits_t at 0xff1 INTCON2bits; +extern volatile __INTCON2bits_t __at (0xff1) INTCON2bits; -extern sfr at 0xff2 INTCON; +extern __sfr __at (0xff2) INTCON; typedef union { struct { unsigned RBIF:1; @@ -732,20 +747,30 @@ typedef union { unsigned PEIE:1; unsigned GIE:1; }; -} INTCONbits_t; + struct { + unsigned :1; + unsigned INT0IF:1; + unsigned TMR0IF:1; + unsigned :1; + unsigned INT0IE:1; + unsigned TMR0IE:1; + unsigned GIEL:1; + unsigned GIEH:1; + }; +} __INTCONbits_t; -extern volatile INTCONbits_t at 0xff2 INTCONbits; +extern volatile __INTCONbits_t __at (0xff2) INTCONbits; -extern sfr at 0xff3 PRODL; -extern sfr at 0xff4 PRODH; -extern sfr at 0xff5 TABLAT; -extern sfr at 0xff6 TBLPTRL; -extern sfr at 0xff7 TBLPTRH; -extern sfr at 0xff8 TBLPTRU; -extern sfr at 0xff9 PCL; -extern sfr at 0xffa PCLATH; -extern sfr at 0xffb PCLATU; -extern sfr at 0xffc STKPTR; +extern __sfr __at (0xff3) PRODL; +extern __sfr __at (0xff4) PRODH; +extern __sfr __at (0xff5) TABLAT; +extern __sfr __at (0xff6) TBLPTRL; +extern __sfr __at (0xff7) TBLPTRH; +extern __sfr __at (0xff8) TBLPTRU; +extern __sfr __at (0xff9) PCL; +extern __sfr __at (0xffa) PCLATH; +extern __sfr __at (0xffb) PCLATU; +extern __sfr __at (0xffc) STKPTR; typedef union { struct { unsigned STKPTR0:1; @@ -757,14 +782,146 @@ typedef union { unsigned STKUNF:1; unsigned STKFUL:1; }; -} STKPTRbits_t; - -extern volatile STKPTRbits_t at 0xffc STKPTRbits; - -extern sfr at 0xffd TOSL; -extern sfr at 0xffe TOSH; -extern sfr at 0xfff TOSU; +} __STKPTRbits_t; + +extern volatile __STKPTRbits_t __at (0xffc) STKPTRbits; + +extern __sfr __at (0xffd) TOSL; +extern __sfr __at (0xffe) TOSH; +extern __sfr __at (0xfff) TOSU; + + +/* Configuration registers locations */ +#define __CONFIG1H 0x300001 +#define __CONFIG2L 0x300002 +#define __CONFIG2H 0x300003 +#define __CONFIG3H 0x300005 +#define __CONFIG4L 0x300006 +#define __CONFIG5L 0x300008 +#define __CONFIG5H 0x300009 +#define __CONFIG6L 0x30000A +#define __CONFIG6H 0x30000B +#define __CONFIG7L 0x30000C +#define __CONFIG7H 0x30000D + + + +/* Oscillator 1H options */ +#define _OSC_RC_OSC2_1H 0xFF /* RC-OSC2 as RA6 */ +#define _OSC_HS_PLL_1H 0xFE /* HS-PLL Enabled */ +#define _OSC_EC_OSC2_RA6_1H 0xFD /* EC-OSC2 as RA6 */ +#define _OSC_EC_OSC2_Clock_Out_1H 0xFC /* EC-OSC2 as Clock_Out */ +#define _OSC_RC_1H 0xFB /* RC */ +#define _OSC_HS_1H 0xFA /* HS */ +#define _OSC_XT_1H 0xF9 /* XT */ +#define _OSC_LP_1H 0xF8 /* LP */ + +/* Osc. Switch Enable 1H options */ +#define _OSCS_OFF_1H 0xFF /* Disabled */ +#define _OSCS_ON_1H 0xDF /* Enabled */ + +/* Power Up Timer 2L options */ +#define _PUT_OFF_2L 0xFF /* Disabled */ +#define _PUT_ON_2L 0xFE /* Enabled */ + +/* Brown Out Detect 2L options */ +#define _BODEN_ON_2L 0xFF /* Enabled */ +#define _BODEN_OFF_2L 0xFD /* Disabled */ + +/* Brown Out Voltage 2L options */ +#define _BODENV_2_0V_2L 0xFF /* 2.0V */ +#define _BODENV_2_7V_2L 0xFB /* 2.7V */ +#define _BODENV_4_2V_2L 0xF7 /* 4.2V */ +#define _BODENV_4_5V_2L 0xF3 /* 4.5V */ + +/* Watchdog Timer 2H options */ +#define _WDT_ON_2H 0xFF /* Enabled */ +#define _WDT_OFF_2H 0xFE /* Disabled */ + +/* Watchdog Postscaler 2H options */ +#define _WDTPS_1_128_2H 0xFF /* 1:128 */ +#define _WDTPS_1_64_2H 0xFD /* 1:64 */ +#define _WDTPS_1_32_2H 0xFB /* 1:32 */ +#define _WDTPS_1_16_2H 0xF9 /* 1:16 */ +#define _WDTPS_1_8_2H 0xF7 /* 1:8 */ +#define _WDTPS_1_4_2H 0xF5 /* 1:4 */ +#define _WDTPS_1_2_2H 0xF3 /* 1:2 */ +#define _WDTPS_1_1_2H 0xF1 /* 1:1 */ + +/* CCP2 Mux 3H options */ +#define _CCP2MUX_RC1_3H 0xFF /* RC1 */ +#define _CCP2MUX_RB3_3H 0xFE /* RB3 */ + +/* Low Voltage Program 4L options */ +#define _LVP_ON_4L 0xFF /* Enabled */ +#define _LVP_OFF_4L 0xFB /* Disabled */ + +/* Background Debug 4L options */ +#define _BACKBUG_OFF_4L 0xFF /* Disabled */ +#define _BACKBUG_ON_4L 0x7F /* Enabled */ + +/* Stack Overflow Reset 4L options */ +#define _STVR_ON_4L 0xFF /* Enabled */ +#define _STVR_OFF_4L 0xFE /* Disabled */ + +/* Code Protect 00200-01FFF 5L options */ +#define _CP_0_OFF_5L 0xFF /* Disabled */ +#define _CP_0_ON_5L 0xFE /* Enabled */ + +/* Code Protect 02000-03FFF 5L options */ +#define _CP_1_OFF_5L 0xFF /* Disabled */ +#define _CP_1_ON_5L 0xFD /* Enabled */ + +/* Data EE Read Protect 5H options */ +#define _CPD_OFF_5H 0xFF /* Disabled */ +#define _CPD_ON_5H 0x7F /* Enabled */ + +/* Code Protect Boot 5H options */ +#define _CPB_OFF_5H 0xFF /* Disabled */ +#define _CPB_ON_5H 0xBF /* Enabled */ + +/* Table Write Protect 00200-01FFF 6L options */ +#define _WRT_0_OFF_6L 0xFF /* Disabled */ +#define _WRT_0_ON_6L 0xFE /* Enabled */ + +/* Table Write Protect 02000-03FFF 6L options */ +#define _WRT_1_OFF_6L 0xFF /* Disabled */ +#define _WRT_1_ON_6L 0xFD /* Enabled */ + +/* Data EE Write Protect 6H options */ +#define _WRTD_OFF_6H 0xFF /* Disabled */ +#define _WRTD_ON_6H 0x7F /* Enabled */ + +/* Table Write Protect Boot 6H options */ +#define _WRTB_OFF_6H 0xFF /* Disabled */ +#define _WRTB_ON_6H 0xBF /* Enabled */ + +/* Config. Write Protect 6H options */ +#define _WRTC_OFF_6H 0xFF /* Disabled */ +#define _WRTC_ON_6H 0xDF /* Enabled */ + +/* Table Read Protect 00200-01FFF 7L options */ +#define _EBTR_0_OFF_7L 0xFF /* Disabled */ +#define _EBTR_0_ON_7L 0xFE /* Enabled */ + +/* Table Read Protect 02000-03FFF 7L options */ +#define _EBTR_1_OFF_7L 0xFF /* Disabled */ +#define _EBTR_1_ON_7L 0xFD /* Enabled */ + +/* Table Read Protect Boot 7H options */ +#define _EBTRB_OFF_7H 0xFF /* Disabled */ +#define _EBTRB_ON_7H 0xBF /* Enabled */ + + +/* Device ID locations */ +#define __IDLOC0 0x200000 +#define __IDLOC1 0x200001 +#define __IDLOC2 0x200002 +#define __IDLOC3 0x200003 +#define __IDLOC4 0x200004 +#define __IDLOC5 0x200005 +#define __IDLOC6 0x200006 +#define __IDLOC7 0x200007 #endif -