📄 p30f2010.h
字号:
/* ADCON3: ADC Control Register 3 */
extern volatile unsigned int ADCON3 __attribute__((__sfr__));
typedef struct tagADCON3BITS {
unsigned ADCS :6;
unsigned :1;
unsigned ADRC :1;
unsigned SAMC :5;
unsigned :3;
} ADCON3BITS;
extern volatile ADCON3BITS ADCON3bits __attribute__((__sfr__));
/* ADCHS: ADC Input Channel Select Register */
extern volatile unsigned int ADCHS __attribute__((__sfr__));
typedef struct tagADCHSBITS {
unsigned CH0SA :4;
unsigned CH0NA :1;
unsigned CH123SA:1;
unsigned CH123NA:2;
unsigned CH0SB :4;
unsigned CH0NB :1;
unsigned CH123SB:1;
unsigned CH123NB:2;
} ADCHSBITS;
extern volatile ADCHSBITS ADCHSbits __attribute__((__sfr__));
/* ADPCFG: ADC Port Configuration Register */
extern volatile unsigned int ADPCFG __attribute__((__sfr__));
typedef struct tagADPCFGBITS {
unsigned PCFG0 :1;
unsigned PCFG1 :1;
unsigned PCFG2 :1;
unsigned PCFG3 :1;
unsigned PCFG4 :1;
unsigned PCFG5 :1;
unsigned :10;
} ADPCFGBITS;
extern volatile ADPCFGBITS ADPCFGbits __attribute__((__sfr__));
/* ADCSSL: ADC Input Scan Select Register */
extern volatile unsigned int ADCSSL __attribute__((__sfr__));
typedef struct tagADCSSLBITS {
unsigned CSSL0 :1;
unsigned CSSL1 :1;
unsigned CSSL2 :1;
unsigned CSSL3 :1;
unsigned CSSL4 :1;
unsigned CSSL5 :1;
unsigned :10;
} ADCSSLBITS;
extern volatile ADCSSLBITS ADCSSLbits __attribute__((__sfr__));
/* ------------------------------ */
/* I/O Ports register definitions */
/* ------------------------------ */
/* TRISB: Port B Direction Control Register */
extern volatile unsigned int TRISB __attribute__((__sfr__));
typedef struct tagTRISBBITS {
unsigned TRISB0 :1;
unsigned TRISB1 :1;
unsigned TRISB2 :1;
unsigned TRISB3 :1;
unsigned TRISB4 :1;
unsigned TRISB5 :1;
unsigned :10;
} TRISBBITS;
extern volatile TRISBBITS TRISBbits __attribute__((__sfr__));
/* PORTB: Port B Pin Register */
extern volatile unsigned int PORTB __attribute__((__sfr__));
typedef struct tagPORTBBITS {
unsigned RB0 :1;
unsigned RB1 :1;
unsigned RB2 :1;
unsigned RB3 :1;
unsigned RB4 :1;
unsigned RB5 :1;
unsigned :10;
} PORTBBITS;
extern volatile PORTBBITS PORTBbits __attribute__((__sfr__));
/* LATB: Port B Latch Register */
extern volatile unsigned int LATB __attribute__((__sfr__));
typedef struct tagLATBBITS {
unsigned LATB0 :1;
unsigned LATB1 :1;
unsigned LATB2 :1;
unsigned LATB3 :1;
unsigned LATB4 :1;
unsigned LATB5 :1;
unsigned :10;
} LATBBITS;
extern volatile LATBBITS LATBbits __attribute__((__sfr__));
/* TRISC: Port C Direction Control Register */
extern volatile unsigned int TRISC __attribute__((__sfr__));
typedef struct tagTRISCBITS {
unsigned :13;
unsigned TRISC13:1;
unsigned TRISC14:1;
unsigned TRISC15:1;
} TRISCBITS;
extern volatile TRISCBITS TRISCbits __attribute__((__sfr__));
/* PORTC: Port C Pin Register */
extern volatile unsigned int PORTC __attribute__((__sfr__));
typedef struct tagPORTCBITS {
unsigned :13;
unsigned RC13 :1;
unsigned RC14 :1;
unsigned RC15 :1;
} PORTCBITS;
extern volatile PORTCBITS PORTCbits __attribute__((__sfr__));
/* LATC: Port C Latch Register */
extern volatile unsigned int LATC __attribute__((__sfr__));
typedef struct tagLATCBITS {
unsigned :13;
unsigned LATC13 :1;
unsigned LATC14 :1;
unsigned LATC15 :1;
} LATCBITS;
extern volatile LATCBITS LATCbits __attribute__((__sfr__));
/* TRISD: Port D Direction Control Register */
extern volatile unsigned int TRISD __attribute__((__sfr__));
typedef struct tagTRISDBITS {
unsigned TRISD0 :1;
unsigned TRISD1 :1;
unsigned :14;
} TRISDBITS;
extern volatile TRISDBITS TRISDbits __attribute__((__sfr__));
/* PORTD: Port D Pin Register */
extern volatile unsigned int PORTD __attribute__((__sfr__));
typedef struct tagPORTDBITS {
unsigned RD0 :1;
unsigned RD1 :1;
unsigned :14;
} PORTDBITS;
extern volatile PORTDBITS PORTDbits __attribute__((__sfr__));
/* LATD: Port D Latch Register */
extern volatile unsigned int LATD __attribute__((__sfr__));
typedef struct tagLATDBITS {
unsigned LATD0 :1;
unsigned LATD1 :1;
unsigned :14;
} LATDBITS;
extern volatile LATDBITS LATDbits __attribute__((__sfr__));
/* TRISE: Port E Direction Control Register */
extern volatile unsigned int TRISE __attribute__((__sfr__));
typedef struct tagTRISEBITS {
unsigned TRISE0 :1;
unsigned TRISE1 :1;
unsigned TRISE2 :1;
unsigned TRISE3 :1;
unsigned TRISE4 :1;
unsigned TRISE5 :1;
unsigned :2;
unsigned TRISE8 :1;
unsigned :7;
} TRISEBITS;
extern volatile TRISEBITS TRISEbits __attribute__((__sfr__));
/* PORTE: Port E Pin Register */
extern volatile unsigned int PORTE __attribute__((__sfr__));
typedef struct tagPORTEBITS {
unsigned RE0 :1;
unsigned RE1 :1;
unsigned RE2 :1;
unsigned RE3 :1;
unsigned RE4 :1;
unsigned RE5 :1;
unsigned :2;
unsigned RE8 :1;
unsigned :7;
} PORTEBITS;
extern volatile PORTEBITS PORTEbits __attribute__((__sfr__));
/* LATE: Port E Latch Register */
extern volatile unsigned int LATE __attribute__((__sfr__));
typedef struct tagLATEBITS {
unsigned LATE0 :1;
unsigned LATE1 :1;
unsigned LATE2 :1;
unsigned LATE3 :1;
unsigned LATE4 :1;
unsigned LATE5 :1;
unsigned :2;
unsigned LATE8 :1;
unsigned :7;
} LATEBITS;
extern volatile LATEBITS LATEbits __attribute__((__sfr__));
/* TRISF: Port F Direction Control Register */
extern volatile unsigned int TRISF __attribute__((__sfr__));
typedef struct tagTRISFBITS {
unsigned :2;
unsigned TRISF2 :1;
unsigned TRISF3 :1;
unsigned :12;
} TRISFBITS;
extern volatile TRISFBITS TRISFbits __attribute__((__sfr__));
/* PORTF: Port F Pin Register */
extern volatile unsigned int PORTF __attribute__((__sfr__));
typedef struct tagPORTFBITS {
unsigned :2;
unsigned RF2 :1;
unsigned RF3 :1;
unsigned :12;
} PORTFBITS;
extern volatile PORTFBITS PORTFbits __attribute__((__sfr__));
/* LATF: Port F Latch Register */
extern volatile unsigned int LATF __attribute__((__sfr__));
typedef struct tagLATFBITS {
unsigned :2;
unsigned LATF2 :1;
unsigned LATF3 :1;
unsigned :12;
} LATFBITS;
extern volatile LATFBITS LATFbits __attribute__((__sfr__));
/* --------------------------------------- */
/* System Integration register definitions */
/* --------------------------------------- */
/* RCON: Reset Control Register */
extern volatile unsigned int RCON __attribute__((__sfr__));
typedef struct tagRCONBITS {
unsigned POR :1;
unsigned BOR :1;
unsigned IDLE :1;
unsigned SLEEP :1;
unsigned WDTO :1;
unsigned SWDTEN :1;
unsigned SWR :1;
unsigned EXTR :1;
unsigned :5;
unsigned BGST :1;
unsigned IOPUWR :1;
unsigned TRAPR :1;
} RCONBITS;
extern volatile RCONBITS RCONbits __attribute__((__sfr__));
/* OSCCON: Oscillator Control Register */
extern volatile unsigned int OSCCON __attribute__((__sfr__));
typedef struct tagOSCCONBITS {
unsigned OSWEN :1;
unsigned LPOSCEN:1;
unsigned :1;
unsigned CF :1;
unsigned :1;
unsigned LOCK :1;
unsigned POST :2;
unsigned NOSC :2;
unsigned TUN0 :1;
unsigned TUN1 :1;
unsigned COSC :2;
unsigned TUN2 :1;
unsigned TUN3 :1;
} OSCCONBITS;
extern volatile OSCCONBITS OSCCONbits __attribute__((__sfr__));
/* ---------------------------------------- */
/* Non-Volatile Memory register definitions */
/* ---------------------------------------- */
/* NVMCON: Non-Volatile Memory Control Register */
extern volatile unsigned int NVMCON __attribute__((__sfr__));
typedef struct tagNVMCONBITS {
unsigned PROGOP :7;
unsigned :1;
unsigned TWRI :1;
unsigned :4;
unsigned WRERR :1;
unsigned WREN :1;
unsigned WR :1;
} NVMCONBITS;
extern volatile NVMCONBITS NVMCONbits __attribute__((__sfr__));
/* NVM Address bits <15:0> */
extern volatile unsigned int NVMADR __attribute__((__sfr__));
/* NVM Address bits <23:16> */
extern volatile unsigned char NVMADRU __attribute__((__sfr__));
/* NVM Key */
extern volatile unsigned char NVMKEY __attribute__((__sfr__));
/* ---------------------------------------------- */
/* Peripheral Module Disable register definitions */
/* ---------------------------------------------- */
/* PMD1: Peripheral Module Disable Register 1 */
extern volatile unsigned int PMD1 __attribute__((__sfr__));
typedef struct tagPMD1BITS {
unsigned ADCMD :1;
unsigned :2;
unsigned SPI1MD :1;
unsigned :1;
unsigned U1MD :1;
unsigned :1;
unsigned I2CMD :1;
unsigned :1;
unsigned PWMMD :1;
unsigned QEIMD :1;
unsigned T1MD :1;
unsigned T2MD :1;
unsigned T3MD :1;
unsigned :2;
} PMD1BITS;
extern volatile PMD1BITS PMD1bits __attribute__((__sfr__));
/* PMD2: Peripheral Module Disable Register 3 */
extern volatile unsigned int PMD2 __attribute__((__sfr__));
typedef struct tagPMD2BITS {
unsigned OC1MD :1;
unsigned OC2MD :1;
unsigned :6;
unsigned IC1MD :1;
unsigned IC2MD :1;
unsigned :4;
unsigned IC7MD :1;
unsigned IC8MD :1;
} PMD2BITS;
extern volatile PMD2BITS PMD2bits __attribute__((__sfr__));
/* -------------------------------------------- */
/* Defines for unique SFR bit names */
/* -------------------------------------------- */
/* SR */
#define _C SRbits.C
#define _Z SRbits.Z
#define _OV SRbits.OV
#define _N SRbits.N
#define _RA SRbits.RA
#define _IPL SRbits.IPL
#define _DC SRbits.DC
#define _DA SRbits.DA
#define _SAB SRbits.SAB
#define _OAB SRbits.OAB
#define _SB SRbits.SB
#define _SA SRbits.SA
#define _OB SRbits.OB
#define _OA SRbits.OA
/* CORCON */
#define _IF CORCONbits.IF
#define _RND CORCONbits.RND
#define _PSV CORCONbits.PSV
#define _IPL3 CORCONbits.IPL3
#define _ACCSAT CORCONbits.ACCSAT
#define _SATDW CORCONbits.SATDW
#define _SATB CORCONbits.SATB
#define _SATA CORCONbits.SATA
#define _DL CORCONbits.DL
#define _EDT CORCONbits.EDT
#define _US CORCONbits.US
/* MODCON */
#define _XWM MODCONbits.XWM
#define _YWM MODCONbits.YWM
#define _BWM MODCONbits.BWM
#define _YMODEN MODCONbits.YMODEN
#define _XMODEN MODCONbits.XMODEN
/* XBREV */
#define _XB XBREVbits.XB
#define _BREN XBREVbits.BREN
/* INTCON1 */
#define _OSCFAIL INTCON1bits.OSCFAIL
#define _STKERR INTCON1bits.STKERR
#define _ADDRERR INTCON1bits.ADDRERR
#define _MATHERR INTCON1bits.MATHERR
#define _COVTE INTCON1bits.COVTE
#define _OVBTE INTCON1bits.OVBTE
#define _OVATE INTCON1bits.OVATE
#define _NSTDIS INTCON1bits.NSTDIS
/* INTCON2 */
#define _INT0EP INTCON2bits.INT0EP
#define _INT1EP INTCON2bits.INT1EP
#define _INT2EP INTCON2bits.INT2EP
#define _DISI INTCON2bits.DISI
#define _ALTIVT INTCON2bits.ALTIVT
/* IFS0 */
#define _INT0IF IFS0bits.INT0IF
#define _IC1IF IFS0bits.IC1IF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -