⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p30f6012a.h

📁 pic30f6012I2C的程序
💻 H
📖 第 1 页 / 共 5 页
字号:
        unsigned        :6;
        unsigned SPISIDL:1;
        unsigned        :1;
        unsigned SPIEN  :1;
} SPIxSTATBITS;

/* Generic structure for SPI Control Registers */
typedef struct tagSPIxCONBITS {
        unsigned PPRE   :2;
        unsigned SPRE   :3;
        unsigned MSTEN  :1;
        unsigned CKP    :1;
        unsigned SSEN   :1;
        unsigned CKE    :1;
        unsigned SMP    :1;
        unsigned MODE16 :1;
        unsigned DISSDO :1;
        unsigned        :1;
        unsigned SPIFSD:1;
        unsigned FRMEN  :1;
        unsigned        :1;
} SPIxCONBITS;

/* SPI1STAT: SPI1 Status Register */
extern volatile unsigned int SPI1STAT __attribute__((__near__));
extern volatile SPIxSTATBITS SPI1STATbits __attribute__((__near__));

/* SPI1CON: SPI1 Control Register */
extern volatile unsigned int SPI1CON __attribute__((__near__));
extern volatile SPIxCONBITS SPI1CONbits __attribute__((__near__));

/* SPI1BUF: SPI1 Buffer */
extern volatile unsigned int SPI1BUF __attribute__((__near__));


/* ------------------------- */
/* SPI2 register definitions */
/* ------------------------- */

/* SPI2STAT: SPI2 Status Register */
extern volatile unsigned int SPI2STAT __attribute__((__near__));
extern volatile SPIxSTATBITS SPI2STATbits __attribute__((__near__));

/* SPI2CON: SPI2 Control Register */
extern volatile unsigned int SPI2CON __attribute__((__near__));
extern volatile SPIxCONBITS SPI2CONbits __attribute__((__near__));

/* SPI2BUF: SPI2 Buffer */
extern volatile unsigned int SPI2BUF __attribute__((__near__));


/* --------------------------------------------- */
/* Data Converter Interface register definitions */
/* --------------------------------------------- */

/* DCICON1: DCI Control Register 1 */
extern volatile unsigned int DCICON1 __attribute__((__near__));
typedef struct tagDCICON1BITS {
        unsigned COFSM  :2;
        unsigned        :3;
        unsigned DJST   :1;
        unsigned CSDOM  :1;
        unsigned UNFM   :1;
        unsigned COFSD  :1;
        unsigned CSCKE  :1;
        unsigned CSCKD  :1;
        unsigned DLOOP  :1;
        unsigned        :1;
        unsigned DCISIDL:1;
        unsigned        :1;
        unsigned DCIEN  :1;
} DCICON1BITS;
extern volatile DCICON1BITS DCICON1bits __attribute__((__near__));

/* DCICON2: DCI Control Register 2 */
extern volatile unsigned int DCICON2 __attribute__((__near__));
typedef struct tagDCICON2BITS {
        unsigned WS     :4;
        unsigned        :1;
        unsigned COFSG  :4;
        unsigned        :1;
        unsigned BLEN   :2;
        unsigned        :4;
} DCICON2BITS;
extern volatile DCICON2BITS DCICON2bits __attribute__((__near__));

/* DCICON3: DCI Control Register 3 */
extern volatile unsigned int DCICON3 __attribute__((__near__));
typedef struct tagDCICON3BITS {
        unsigned BCG    :12;
        unsigned        :4;
} DCICON3BITS;
extern volatile DCICON3BITS DCICON3bits __attribute__((__near__));

/* DCISTAT: DCI Status Register */
extern volatile unsigned int DCISTAT __attribute__((__near__));
typedef struct tagDCISTATBITS {
        unsigned TMPTY  :1;
        unsigned TUNF   :1;
        unsigned RFUL   :1;
        unsigned ROV    :1;
        unsigned        :4;
        unsigned SLOT   :4;
        unsigned        :4;
} DCISTATBITS;
extern volatile DCISTATBITS DCISTATbits __attribute__((__near__));

/* TSCON: DCI Transmit Slot Enable Control Register */
extern volatile unsigned int TSCON __attribute__((__near__));
typedef struct tagTSCONBITS {
        unsigned TSE0   :1;
        unsigned TSE1   :1;
        unsigned TSE2   :1;
        unsigned TSE3   :1;
        unsigned TSE4   :1;
        unsigned TSE5   :1;
        unsigned TSE6   :1;
        unsigned TSE7   :1;
        unsigned TSE8   :1;
        unsigned TSE9   :1;
        unsigned TSE10  :1;
        unsigned TSE11  :1;
        unsigned TSE12  :1;
        unsigned TSE13  :1;
        unsigned TSE14  :1;
        unsigned TSE15  :1;
} TSCONBITS;
extern volatile TSCONBITS TSCONbits __attribute__((__near__));

/* RSCON: DCI Receive Slot Enable Control Register */
extern volatile unsigned int RSCON __attribute__((__near__));
typedef struct tagRSCONBITS {
        unsigned RSE0   :1;
        unsigned RSE1   :1;
        unsigned RSE2   :1;
        unsigned RSE3   :1;
        unsigned RSE4   :1;
        unsigned RSE5   :1;
        unsigned RSE6   :1;
        unsigned RSE7   :1;
        unsigned RSE8   :1;
        unsigned RSE9   :1;
        unsigned RSE10  :1;
        unsigned RSE11  :1;
        unsigned RSE12  :1;
        unsigned RSE13  :1;
        unsigned RSE14  :1;
        unsigned RSE15  :1;
} RSCONBITS;
extern volatile RSCONBITS RSCONbits __attribute__((__near__));

/* RXBUF0: DCI Receive Buffer 0 */
extern volatile unsigned int RXBUF0 __attribute__((__near__));

/* RXBUF1: DCI Receive Buffer 1 */
extern volatile unsigned int RXBUF1 __attribute__((__near__));

/* RXBUF2: DCI Receive Buffer 2 */
extern volatile unsigned int RXBUF2 __attribute__((__near__));

/* RXBUF3: DCI Receive Buffer 3 */
extern volatile unsigned int RXBUF3 __attribute__((__near__));

/* TXBUF0: DCI Transmit Buffer 0 */
extern volatile unsigned int TXBUF0 __attribute__((__near__));

/* TXBUF1: DCI Transmit Buffer 1 */
extern volatile unsigned int TXBUF1 __attribute__((__near__));

/* TXBUF2: DCI Transmit Buffer 2 */
extern volatile unsigned int TXBUF2 __attribute__((__near__));

/* TXBUF3: DCI Transmit Buffer 3 */
extern volatile unsigned int TXBUF3 __attribute__((__near__));


/* ------------------------------------------------------------------ */
/* 12-bit (100 ksps) Analog-to-Digital Converter register definitions */
/* ------------------------------------------------------------------ */

/* ADC Buffers 0-F */
extern volatile unsigned int ADCBUF0 __attribute__((__near__));
extern volatile unsigned int ADCBUF1 __attribute__((__near__));
extern volatile unsigned int ADCBUF2 __attribute__((__near__));
extern volatile unsigned int ADCBUF3 __attribute__((__near__));
extern volatile unsigned int ADCBUF4 __attribute__((__near__));
extern volatile unsigned int ADCBUF5 __attribute__((__near__));
extern volatile unsigned int ADCBUF6 __attribute__((__near__));
extern volatile unsigned int ADCBUF7 __attribute__((__near__));
extern volatile unsigned int ADCBUF8 __attribute__((__near__));
extern volatile unsigned int ADCBUF9 __attribute__((__near__));
extern volatile unsigned int ADCBUFA __attribute__((__near__));
extern volatile unsigned int ADCBUFB __attribute__((__near__));
extern volatile unsigned int ADCBUFC __attribute__((__near__));
extern volatile unsigned int ADCBUFD __attribute__((__near__));
extern volatile unsigned int ADCBUFE __attribute__((__near__));
extern volatile unsigned int ADCBUFF __attribute__((__near__));

/* ADCON1: ADC Control Register 1 */
extern volatile unsigned int ADCON1 __attribute__((__near__));
typedef struct tagADCON1BITS {
        unsigned DONE   :1;
        unsigned SAMP   :1;
        unsigned ASAM   :1;
        unsigned        :2;
        unsigned SSRC   :3;
        unsigned FORM   :2;
        unsigned        :3;
        unsigned ADSIDL :1;
        unsigned        :1;
        unsigned ADON   :1;
} ADCON1BITS;
extern volatile ADCON1BITS ADCON1bits __attribute__((__near__));

/* ADCON2: ADC Control Register 2 */
extern volatile unsigned int ADCON2 __attribute__((__near__));
typedef struct tagADCON2BITS {
        unsigned ALTS   :1;
        unsigned BUFM   :1;
        unsigned SMPI   :4;
        unsigned        :1;
        unsigned BUFS   :1;
        unsigned        :2;
        unsigned CSCNA  :1;
        unsigned        :2;
        unsigned VCFG   :3;
} ADCON2BITS;
extern volatile ADCON2BITS ADCON2bits __attribute__((__near__));

/* ADCON3: ADC Control Register 3 */
extern volatile unsigned int ADCON3 __attribute__((__near__));
typedef struct tagADCON3BITS {
        unsigned ADCS   :6;
        unsigned        :1;
        unsigned ADRC   :1;
        unsigned SAMC   :5;
        unsigned        :3;
} ADCON3BITS;
extern volatile ADCON3BITS ADCON3bits __attribute__((__near__));

/* ADCHS: ADC Input Channel Select Register */
extern volatile unsigned int ADCHS __attribute__((__near__));
typedef struct tagADCHSBITS {
        unsigned CH0SA  :4;
        unsigned CH0NA  :1;
        unsigned        :3;
        unsigned CH0SB  :4;
        unsigned CH0NB  :1;
        unsigned        :3;
} ADCHSBITS;
extern volatile ADCHSBITS ADCHSbits __attribute__((__near__));

/* ADPCFG: ADC Port Configuration Register */
extern volatile unsigned int ADPCFG __attribute__((__near__));
typedef struct tagADPCFGBITS {
        unsigned PCFG0  :1;
        unsigned PCFG1  :1;
        unsigned PCFG2  :1;
        unsigned PCFG3  :1;
        unsigned PCFG4  :1;
        unsigned PCFG5  :1;
        unsigned PCFG6  :1;
        unsigned PCFG7  :1;
        unsigned PCFG8  :1;
        unsigned PCFG9  :1;
        unsigned PCFG10 :1;
        unsigned PCFG11 :1;
        unsigned PCFG12 :1;
        unsigned PCFG13 :1;
        unsigned PCFG14 :1;
        unsigned PCFG15 :1;
} ADPCFGBITS;
extern volatile ADPCFGBITS ADPCFGbits __attribute__((__near__));

/* ADCSSL: ADC Input Scan Select Register */
extern volatile unsigned int ADCSSL __attribute__((__near__));
typedef struct tagADCSSLBITS {
        unsigned CSSL0  :1;
        unsigned CSSL1  :1;
        unsigned CSSL2  :1;
        unsigned CSSL3  :1;
        unsigned CSSL4  :1;
        unsigned CSSL5  :1;
        unsigned CSSL6  :1;
        unsigned CSSL7  :1;
        unsigned CSSL8  :1;
        unsigned CSSL9  :1;
        unsigned CSSL10 :1;
        unsigned CSSL11 :1;
        unsigned CSSL12 :1;
        unsigned CSSL13 :1;
        unsigned CSSL14 :1;
        unsigned CSSL15 :1;
} ADCSSLBITS;
extern volatile ADCSSLBITS ADCSSLbits __attribute__((__near__));


/* ------------------------------ */
/* I/O Ports register definitions */
/* ------------------------------ */

/* TRISB: Port B Direction Control Register */
extern volatile unsigned int TRISB __attribute__((__near__));
typedef struct tagTRISBBITS {
        unsigned TRISB0 :1;
        unsigned TRISB1 :1;
        unsigned TRISB2 :1;
        unsigned TRISB3 :1;
        unsigned TRISB4 :1;
        unsigned TRISB5 :1;
        unsigned TRISB6 :1;
        unsigned TRISB7 :1;
        unsigned TRISB8 :1;
        unsigned TRISB9 :1;
        unsigned TRISB10:1;
        unsigned TRISB11:1;
        unsigned TRISB12:1;
        unsigned TRISB13:1;
        unsigned TRISB14:1;
        unsigned TRISB15:1;
} TRISBBITS;
extern volatile TRISBBITS TRISBbits __attribute__((__near__));

/* PORTB: Port B Pin Register */
extern volatile unsigned int PORTB __attribute__((__near__));
typedef struct tagPORTBBITS {
        unsigned RB0    :1;
        unsigned RB1    :1;
        unsigned RB2    :1;
        unsigned RB3    :1;
        unsigned RB4    :1;
        unsigned RB5    :1;
        unsigned RB6    :1;
        unsigned RB7    :1;
        unsigned RB8    :1;
        unsigned RB9    :1;
        unsigned RB10   :1;
        unsigned RB11   :1;
        unsigned RB12   :1;
        unsigned RB13   :1;
        unsigned RB14   :1;
        unsigned RB15   :1;
} PORTBBITS;
extern volatile PORTBBITS PORTBbits __attribute__((__near__));

/* LATB: Port B Latch Register */
extern volatile unsigned int LATB __attribute__((__near__));
typedef struct tagLATBBITS {
        unsigned LATB0  :1;
        unsigned LATB1  :1;
        unsigned LATB2  :1;
        unsigned LATB3  :1;
        unsigned LATB4  :1;
        unsigned LATB5  :1;
        unsigned LATB6  :1;
        unsigned LATB7  :1;
        unsigned LATB8  :1;
        unsigned LATB9  :1;
        unsigned LATB10 :1;
        unsigned LATB11 :1;
        unsigned LATB12 :1;
        unsigned LATB13 :1;
        unsigned LATB14 :1;
        unsigned LATB15 :1;
} LATBBITS;
extern volatile LATBBITS LATBbits __attribute__((__near__));

/* TRISC: Port C Direction Control Register */
extern volatile unsigned int TRISC __attribute__((__near__));
typedef struct tagTRISCBITS {
        unsigned        :1;
        unsigned TRISC1 :1;
        unsigned TRISC2 :1;
        unsigned        :10;
        unsigned TRISC13:1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -