📄 p30f4011.h
字号:
extern volatile unsigned int IC8BUF __attribute__((__near__));
/* IC8CON: Input Capture 8 Control Register */
extern volatile unsigned int IC8CON __attribute__((__near__));
extern volatile ICxCONBITS IC8CONbits __attribute__((__near__));
/* --------------------------------------- */
/* Output Compare/PWM register definitions */
/* --------------------------------------- */
/* Generic structure of entire SFR area for each Output Compare module */
typedef struct tagOC {
unsigned int ocxrs;
unsigned int ocxr;
unsigned int ocxcon;
} OC, *POC;
/* SFR blocks for each Output Compare module */
extern volatile OC OC1 __attribute__((__near__));
extern volatile OC OC2 __attribute__((__near__));
extern volatile OC OC3 __attribute__((__near__));
extern volatile OC OC4 __attribute__((__near__));
/* Generic structure for Output Compare Control Registers */
typedef struct tagOCxCONBITS {
unsigned OCM :3;
unsigned OCTSEL :1;
unsigned OCFLT :1;
unsigned :8;
unsigned OCSIDL :1;
unsigned :2;
} OCxCONBITS;
/* OC1RS: Output Compare 1 Secondary Register */
extern volatile unsigned int OC1RS __attribute__((__near__));
/* OC1R: Output Compare 1 Main Register */
extern volatile unsigned int OC1R __attribute__((__near__));
/* OC1CON: Output Compare 1 Control Register */
extern volatile unsigned int OC1CON __attribute__((__near__));
extern volatile OCxCONBITS OC1CONbits __attribute__((__near__));
/* OC2RS: Output Compare 2 Secondary Register */
extern volatile unsigned int OC2RS __attribute__((__near__));
/* OC2R: Output Compare 2 Main Register */
extern volatile unsigned int OC2R __attribute__((__near__));
/* OC2CON: Output Compare 2 Control Register */
extern volatile unsigned int OC2CON __attribute__((__near__));
extern volatile OCxCONBITS OC2CONbits __attribute__((__near__));
/* OC3RS: Output Compare 3 Secondary Register */
extern volatile unsigned int OC3RS __attribute__((__near__));
/* OC3R: Output Compare 3 Main Register */
extern volatile unsigned int OC3R __attribute__((__near__));
/* OC3CON: Output Compare 3 Control Register */
extern volatile unsigned int OC3CON __attribute__((__near__));
extern volatile OCxCONBITS OC3CONbits __attribute__((__near__));
/* OC4RS: Output Compare 4 Secondary Register */
extern volatile unsigned int OC4RS __attribute__((__near__));
/* OC4R: Output Compare 4 Main Register */
extern volatile unsigned int OC4R __attribute__((__near__));
/* OC4CON: Output Compare 4 Control Register */
extern volatile unsigned int OC4CON __attribute__((__near__));
extern volatile OCxCONBITS OC4CONbits __attribute__((__near__));
/* -------------------------------------- */
/* Motor Control PWM register definitions */
/* -------------------------------------- */
/* PTCON: PWM Timerbase Control Register */
extern volatile unsigned int PTCON __attribute__((__near__));
typedef struct tagPTCONBITS {
unsigned PTMOD :2;
unsigned PTCKPS :2;
unsigned PTOPS :4;
unsigned :5;
unsigned PTSIDL :1;
unsigned :1;
unsigned PTEN :1;
} PTCONBITS;
extern volatile PTCONBITS PTCONbits __attribute__((__near__));
/* PTMR: PWM Timebase Count Register */
extern volatile unsigned int PTMR __attribute__((__near__));
typedef struct tagPTMRBITS {
unsigned PTMR :15;
unsigned PTDIR :1;
} PTMRBITS;
extern volatile PTMRBITS PTMRbits __attribute__((__near__));
/* PTPER: PWM Timebase Period Register */
extern volatile unsigned int PTPER __attribute__((__near__));
typedef struct tagPTPERBITS {
unsigned PTPER :15;
unsigned :1;
} PTPERBITS;
extern volatile PTPERBITS PTPERbits __attribute__((__near__));
/* SEVTCMP: Special Event Compare Count Register */
extern volatile unsigned int SEVTCMP __attribute__((__near__));
typedef struct tagSEVTCMPBITS {
unsigned SEVTCMP:15;
unsigned SEVTDIR:1;
} SEVTCMPBITS;
extern volatile SEVTCMPBITS SEVTCMPbits __attribute__((__near__));
/* PWMCON1: PWM Control Register 1 */
extern volatile unsigned int PWMCON1 __attribute__((__near__));
typedef struct tagPWMCON1BITS {
unsigned PEN1L :1;
unsigned PEN2L :1;
unsigned PEN3L :1;
unsigned :1;
unsigned PEN1H :1;
unsigned PEN2H :1;
unsigned PEN3H :1;
unsigned :1;
unsigned PMOD1 :1;
unsigned PMOD2 :1;
unsigned PMOD3 :1;
unsigned :5;
} PWMCON1BITS;
extern volatile PWMCON1BITS PWMCON1bits __attribute__((__near__));
/* PWMCON2: PWM Control Register 2 */
extern volatile unsigned int PWMCON2 __attribute__((__near__));
typedef struct tagPWMCON2BITS {
unsigned UDIS :1;
unsigned OSYNC :1;
unsigned IUE :1;
unsigned :5;
unsigned SEVOPS :4;
unsigned :4;
} PWMCON2BITS;
extern volatile PWMCON2BITS PWMCON2bits __attribute__((__near__));
/* DTCON1: PWM Dead Time Control Register 1 */
extern volatile unsigned int DTCON1 __attribute__((__near__));
typedef struct tagDTCON1BITS {
unsigned DTA :6;
unsigned DTAPS :2;
unsigned :8;
} DTCON1BITS;
extern volatile DTCON1BITS DTCON1bits __attribute__((__near__));
/* FLTACON: PWM Fault Input A Control Register */
extern volatile unsigned int FLTACON __attribute__((__near__));
typedef struct tagFLTACONBITS {
unsigned FAEN1 :1;
unsigned FAEN2 :1;
unsigned FAEN3 :1;
unsigned :4;
unsigned FLTAM :1;
unsigned FAOV1L :1;
unsigned FAOV1H :1;
unsigned FAOV2L :1;
unsigned FAOV2H :1;
unsigned FAOV3L :1;
unsigned FAOV3H :1;
unsigned :2;
} FLTACONBITS;
extern volatile FLTACONBITS FLTACONbits __attribute__((__near__));
/* OVDCON: PWM Override Control Register */
extern volatile unsigned int OVDCON __attribute__((__near__));
typedef struct tagOVDCONBITS {
unsigned POUT1L :1;
unsigned POUT1H :1;
unsigned POUT2L :1;
unsigned POUT2H :1;
unsigned POUT3L :1;
unsigned POUT3H :1;
unsigned :2;
unsigned POVD1L :1;
unsigned POVD1H :1;
unsigned POVD2L :1;
unsigned POVD2H :1;
unsigned POVD3L :1;
unsigned POVD3H :1;
unsigned :2;
} OVDCONBITS;
extern volatile OVDCONBITS OVDCONbits __attribute__((__near__));
/* PDC1: PWM Duty Cycle Register 1 */
extern volatile unsigned int PDC1 __attribute__((__near__));
/* PDC2: PWM Duty Cycle Register 2 */
extern volatile unsigned int PDC2 __attribute__((__near__));
/* PDC3: PWM Duty Cycle Register 3 */
extern volatile unsigned int PDC3 __attribute__((__near__));
/* ------------------------ */
/* I2C register definitions */
/* ------------------------ */
/* I2CRCV: I2C Receive Register */
extern volatile unsigned char I2CRCV __attribute__((__near__));
typedef struct tagI2CRCVBITS {
unsigned I2CRCV0:1;
unsigned I2CRCV1:1;
unsigned I2CRCV2:1;
unsigned I2CRCV3:1;
unsigned I2CRCV4:1;
unsigned I2CRCV5:1;
unsigned I2CRCV6:1;
unsigned I2CRCV7:1;
} I2CRCVBITS;
extern volatile I2CRCVBITS I2CRCVbits __attribute__((__near__));
/* I2CTRN: I2C Transmit Register */
extern volatile unsigned char I2CTRN __attribute__((__near__));
typedef struct tagI2CTRNBITS {
unsigned I2CTRN0:1;
unsigned I2CTRN1:1;
unsigned I2CTRN2:1;
unsigned I2CTRN3:1;
unsigned I2CTRN4:1;
unsigned I2CTRN5:1;
unsigned I2CTRN6:1;
unsigned I2CTRN7:1;
} I2CTRNBITS;
extern volatile I2CTRNBITS I2CTRNbits __attribute__((__near__));
/* I2CBRG: I2C Baud Rate Generator Register */
extern volatile unsigned int I2CBRG __attribute__((__near__));
typedef struct tagI2CBRGBITS {
unsigned I2CBRG :9;
unsigned :7;
} I2CBRGBITS;
extern volatile I2CBRGBITS I2CBRGbits __attribute__((__near__));
/* I2CCON: I2C Control Register */
extern volatile unsigned int I2CCON __attribute__((__near__));
typedef struct tagI2CCONBITS {
unsigned SEN :1;
unsigned RSEN :1;
unsigned PEN :1;
unsigned RCEN :1;
unsigned ACKEN :1;
unsigned ACKDT :1;
unsigned STREN :1;
unsigned GCEN :1;
unsigned SMEN :1;
unsigned DISSLW :1;
unsigned A10M :1;
unsigned IPMIEN :1;
unsigned SCLREL :1;
unsigned I2CSIDL:1;
unsigned :1;
unsigned I2CEN :1;
} I2CCONBITS;
extern volatile I2CCONBITS I2CCONbits __attribute__((__near__));
/* I2CSTAT: I2C Status Register */
extern volatile unsigned int I2CSTAT __attribute__((__near__));
typedef struct tagI2CSTATBITS {
unsigned TBF :1;
unsigned RBF :1;
unsigned R_W :1;
unsigned S :1;
unsigned P :1;
unsigned D_A :1;
unsigned I2COV :1;
unsigned IWCOL :1;
unsigned ADD10 :1;
unsigned GCSTAT :1;
unsigned BCL :1;
unsigned :3;
unsigned TRSTAT :1;
unsigned ACKSTAT:1;
} I2CSTATBITS;
extern volatile I2CSTATBITS I2CSTATbits __attribute__((__near__));
/* I2CADD: I2C Address Register */
extern volatile unsigned int I2CADD __attribute__((__near__));
typedef struct tagI2CADDBITS {
unsigned I2CADD :10;
unsigned :6;
} I2CADDBITS;
extern volatile I2CADDBITS I2CADDbits __attribute__((__near__));
/* -------------------------- */
/* UART1 register definitions */
/* -------------------------- */
/* Generic structure of entire SFR area for each UART module */
typedef struct tagUART {
unsigned int uxmode;
unsigned int uxsta;
unsigned int uxtxreg;
unsigned int uxrxreg;
unsigned int uxbrg;
} UART, *PUART;
/* SFR blocks for each UART module */
extern volatile UART UART1 __attribute__((__near__));
extern volatile UART UART2 __attribute__((__near__));
/* Generic structure for UART Mode Registers */
typedef struct tagUxMODEBITS {
unsigned STSEL :1;
unsigned PDSEL :2;
unsigned :2;
unsigned ABAUD :1;
unsigned LPBACK :1;
unsigned WAKE :1;
unsigned :2;
unsigned ALTIO :1;
unsigned :2;
unsigned USIDL :1;
unsigned :1;
unsigned UARTEN :1;
} UxMODEBITS;
/* Generic structure for UART Status and Control Registers */
typedef struct tagUxSTABITS {
unsigned URXDA :1;
unsigned OERR :1;
unsigned FERR :1;
unsigned PERR :1;
unsigned RIDLE :1;
unsigned ADDEN :1;
unsigned URXISEL:2;
unsigned TRMT :1;
unsigned UTXBF :1;
unsigned UTXEN :1;
unsigned UTXBRK :1;
unsigned :3;
unsigned UTXISEL:1;
} UxSTABITS;
/* Generic structure for UART Transmit Registers */
typedef struct tagUxTXREGBITS {
unsigned UTXREG0:1;
unsigned UTXREG1:1;
unsigned UTXREG2:1;
unsigned UTXREG3:1;
unsigned UTXREG4:1;
unsigned UTXREG5:1;
unsigned UTXREG6:1;
unsigned UTXREG7:1;
unsigned UTX8 :1;
unsigned :7;
} UxTXREGBITS;
/* Generic structure for UART Receive Registers */
typedef struct tagUxRXREGBITS {
unsigned URXREG0:1;
unsigned URXREG1:1;
unsigned URXREG2:1;
unsigned URXREG3:1;
unsigned URXREG4:1;
unsigned URXREG5:1;
unsigned URXREG6:1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -