Thread: Converting a circulating mouse pointer to use a Potentionmeter

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #5
    Registered User
    Join Date
    Oct 2006
    Posts
    13

    ADRESH and ADRESL

    Regarding this section of code, There is no manual which describes this firmware... However this is what it does

    Code:
     
    case RD_POT: // Comes from PC Software
                    ReadPOT();
                    dataPacket._byte[1] = ADRESL;
                    dataPacket._byte[2] = ADRESH;
                    counter=0x03;
                    break;
    This RD_POT value comes from the PC. When the PC software wants to get the A/D result, it will send out CMD RD_POT to USB device, the USB device will do the A/D convert and send the result back to PC.

    The .GO Member and .NOT_DONE member is defined in the header file "C:\mcc18\h\p18F4550.h"

    which i have included in the code below ( I have highlighted the where ADRESL and ADRESH occur )

    Code:
    /*-------------------------------------------------------------------------
     * $Id: p18f4550.h,v 1.7.12.1 2005/10/11 01:56:23 curtiss Exp $
     * MPLAB-Cxx  PIC18F4550 processor header
     *
     * (c) Copyright 1999-2005 Microchip Technology, All rights reserved
     *-------------------------------------------------------------------------*/
    
    #ifndef __18F4550_H
    #define __18F4550_H
    
    extern volatile near unsigned char       SPPDATA;
    extern          near unsigned char       SPPCFG;
    extern          near struct {
      unsigned WS0:1;
      unsigned WS1:1;
      unsigned WS2:1;
      unsigned WS3:1;
      unsigned CLK1EN:1;
      unsigned CSEN:1;
      unsigned CLKCFG0:1;
      unsigned CLKCFG1:1;
    } SPPCFGbits;
    extern          near unsigned char       SPPEPS;
    extern          near struct {
      unsigned ADDR0:1;
      unsigned ADDR1:1;
      unsigned ADDR2:1;
      unsigned ADDR3:1;
      unsigned SPPBUSY:1;
      unsigned :1;
      unsigned WRSPP:1;
      unsigned RDSPP:1;
    } SPPEPSbits;
    extern          near unsigned char       SPPCON;
    extern          near struct {
      unsigned SPPEN:1;
      unsigned SPPOWN:1;
    } SPPCONbits;
    extern volatile near unsigned            UFRM;
    extern volatile near unsigned char       UFRML;
    extern volatile near struct {
      unsigned FRM0:1;
      unsigned FRM1:1;
      unsigned FRM2:1;
      unsigned FRM3:1;
      unsigned FRM4:1;
      unsigned FRM5:1;
      unsigned FRM6:1;
      unsigned FRM7:1;
    } UFRMLbits;
    extern volatile near unsigned char       UFRMH;
    extern volatile near struct {
      unsigned FRM8:1;
      unsigned FRM9:1;
      unsigned FRM10:1;
    } UFRMHbits;
    extern volatile near unsigned char       UIR;
    extern volatile near struct {
      unsigned URSTIF:1;
      unsigned UERRIF:1;
      unsigned ACTVIF:1;
      unsigned TRNIF:1;
      unsigned IDLEIF:1;
      unsigned STALLIF:1;
      unsigned SOFIF:1;
    } UIRbits;
    extern volatile near unsigned char       UIE;
    extern volatile near struct {
      unsigned URSTIE:1;
      unsigned UERRIE:1;
      unsigned ACTVIE:1;
      unsigned TRNIE:1;
      unsigned IDLEIE:1;
      unsigned STALLIE:1;
      unsigned SOFIE:1;
    } UIEbits;
    extern volatile near unsigned char       UEIR;
    extern volatile near struct {
      unsigned PIDEF:1;
      unsigned CRC5EF:1;
      unsigned CRC16EF:1;
      unsigned DFN8EF:1;
      unsigned BTOEF:1;
      unsigned :2;
      unsigned BTSEF:1;
    } UEIRbits;
    extern volatile near unsigned char       UEIE;
    extern volatile near struct {
      unsigned PIDEE:1;
      unsigned CRC5EE:1;
      unsigned CRC16EE:1;
      unsigned DFN8EE:1;
      unsigned BTOEE:1;
      unsigned :2;
      unsigned BTSEE:1;
    } UEIEbits;
    extern volatile near unsigned char       USTAT;
    extern volatile near struct {
      unsigned :1;
      unsigned PPBI:1;
      unsigned DIR:1;
      unsigned ENDP0:1;
      unsigned ENDP1:1;
      unsigned ENDP2:1;
      unsigned ENDP3:1;
    } USTATbits;
    extern          near unsigned char       UCON;
    extern          near struct {
      unsigned :1;
      unsigned SUSPND:1;
      unsigned RESUME:1;
      unsigned USBEN:1;
      unsigned PKTDIS:1;
      unsigned SE0:1;
      unsigned PPBRST:1;
    } UCONbits;
    extern          near unsigned char       UADDR;
    extern          near struct {
      unsigned ADDR0:1;
      unsigned ADDR1:1;
      unsigned ADDR2:1;
      unsigned ADDR3:1;
      unsigned ADDR4:1;
      unsigned ADDR5:1;
      unsigned ADDR6:1;
    } UADDRbits;
    extern          near unsigned char       UCFG;
    extern          near struct {
      unsigned PPB0:1;
      unsigned PPB1:1;
      unsigned FSEN:1;
      unsigned UTRDIS:1;
      unsigned UPUEN:1;
      unsigned :1;
      unsigned UOEMON:1;
      unsigned UTEYE:1;
    } UCFGbits;
    extern          near unsigned char       UEP0;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP0bits;
    extern          near unsigned char       UEP1;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP1bits;
    extern          near unsigned char       UEP2;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP2bits;
    extern          near unsigned char       UEP3;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP3bits;
    extern          near unsigned char       UEP4;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP4bits;
    extern          near unsigned char       UEP5;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP5bits;
    extern          near unsigned char       UEP6;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP6bits;
    extern          near unsigned char       UEP7;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP7bits;
    extern          near unsigned char       UEP8;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP8bits;
    extern          near unsigned char       UEP9;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP9bits;
    extern          near unsigned char       UEP10;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP10bits;
    extern          near unsigned char       UEP11;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP11bits;
    extern          near unsigned char       UEP12;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP12bits;
    extern          near unsigned char       UEP13;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP13bits;
    extern          near unsigned char       UEP14;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP14bits;
    extern          near unsigned char       UEP15;
    extern          near struct {
      unsigned EPSTALL:1;
      unsigned EPINEN:1;
      unsigned EPOUTEN:1;
      unsigned EPCONDIS:1;
      unsigned EPHSHK:1;
    } UEP15bits;
    extern volatile near unsigned char       PORTA;
    extern volatile near union {
      struct {
        unsigned RA0:1;
        unsigned RA1:1;
        unsigned RA2:1;
        unsigned RA3:1;
        unsigned RA4:1;
        unsigned RA5:1;
        unsigned RA6:1;
      };
      struct {
        unsigned AN0:1;
        unsigned AN1:1;
        unsigned AN2:1;
        unsigned AN3:1;
        unsigned T0CKI:1;
        unsigned AN4:1;
        unsigned OSC2:1;
      };
      struct {
        unsigned :2;
        unsigned VREFM:1;
        unsigned VREFP:1;
        unsigned :1;
        unsigned LVDIN:1;
      };
      struct {
        unsigned :5;
        unsigned HLVDIN:1;
      };
    } PORTAbits;
    extern volatile near unsigned char       PORTB;
    extern volatile near union {
      struct {
        unsigned RB0:1;
        unsigned RB1:1;
        unsigned RB2:1;
        unsigned RB3:1;
        unsigned RB4:1;
        unsigned RB5:1;
        unsigned RB6:1;
        unsigned RB7:1;
      };
      struct {
        unsigned INT0:1;
        unsigned INT1:1;
        unsigned INT2:1;
      };
      struct {
        unsigned :5;
        unsigned PGM:1;
        unsigned PGC:1;
        unsigned PGD:1;
      };
    } PORTBbits;
    extern volatile near unsigned char       PORTC;
    extern volatile near union {
      struct {
        unsigned RC0:1;
        unsigned RC1:1;
        unsigned RC2:1;
        unsigned :1;
        unsigned RC4:1;
        unsigned RC5:1;
        unsigned RC6:1;
        unsigned RC7:1;
      };
      struct {
        unsigned T1OSO:1;
        unsigned T1OSI:1;
        unsigned CCP1:1;
        unsigned :3;
        unsigned TX:1;
        unsigned RX:1;
      };
      struct {
        unsigned T13CKI:1;
        unsigned :1;
        unsigned P1A:1;
        unsigned :3;
        unsigned CK:1;
        unsigned DT:1;
      };
    } PORTCbits;
    extern volatile near unsigned char       PORTD;
    extern volatile near union {
      struct {
        unsigned RD0:1;
        unsigned RD1:1;
        unsigned RD2:1;
        unsigned RD3:1;
        unsigned RD4:1;
        unsigned RD5:1;
        unsigned RD6:1;
        unsigned RD7:1;
      };
      struct {
        unsigned SPP0:1;
        unsigned SPP1:1;
        unsigned SPP2:1;
        unsigned SPP3:1;
        unsigned SPP4:1;
        unsigned SPP5:1;
        unsigned SPP6:1;
        unsigned SPP7:1;
      };
    } PORTDbits;
    extern volatile near unsigned char       PORTE;
    extern volatile near union {
      struct {
        unsigned RE0:1;
        unsigned RE1:1;
        unsigned RE2:1;
        unsigned RE3:1;
        unsigned :3;
        unsigned RDPU:1;
      };
      struct {
        unsigned CK1SPP:1;
        unsigned CK2SPP:1;
        unsigned OESPP:1;
      };
    } PORTEbits;
    extern volatile near unsigned char       LATA;
    extern volatile near struct {
      unsigned LATA0:1;
      unsigned LATA1:1;
      unsigned LATA2:1;
      unsigned LATA3:1;
      unsigned LATA4:1;
      unsigned LATA5:1;
      unsigned LATA6:1;
    } LATAbits;
    extern volatile near unsigned char       LATB;
    extern volatile near struct {
      unsigned LATB0:1;
      unsigned LATB1:1;
      unsigned LATB2:1;
      unsigned LATB3:1;
      unsigned LATB4:1;
      unsigned LATB5:1;
      unsigned LATB6:1;
      unsigned LATB7:1;
    } LATBbits;
    extern volatile near unsigned char       LATC;
    extern volatile near struct {
      unsigned LATC0:1;
      unsigned LATC1:1;
      unsigned LATC2:1;
      unsigned :3;
      unsigned LATC6:1;
      unsigned LATC7:1;
    } LATCbits;
    extern volatile near unsigned char       LATD;
    extern volatile near struct {
      unsigned LATD0:1;
      unsigned LATD1:1;
      unsigned LATD2:1;
      unsigned LATD3:1;
      unsigned LATD4:1;
      unsigned LATD5:1;
      unsigned LATD6:1;
      unsigned LATD7:1;
    } LATDbits;
    extern volatile near unsigned char       LATE;
    extern volatile near struct {
      unsigned LATE0:1;
      unsigned LATE1:1;
      unsigned LATE2:1;
    } LATEbits;
    extern volatile near unsigned char       DDRA;
    extern volatile near struct {
      unsigned RA0:1;
      unsigned RA1:1;
      unsigned RA2:1;
      unsigned RA3:1;
      unsigned RA4:1;
      unsigned RA5:1;
      unsigned RA6:1;
    } DDRAbits;
    extern volatile near unsigned char       TRISA;
    extern volatile near struct {
      unsigned TRISA0:1;
      unsigned TRISA1:1;
      unsigned TRISA2:1;
      unsigned TRISA3:1;
      unsigned TRISA4:1;
      unsigned TRISA5:1;
      unsigned TRISA6:1;
    } TRISAbits;
    extern volatile near unsigned char       DDRB;
    extern volatile near struct {
      unsigned RB0:1;
      unsigned RB1:1;
      unsigned RB2:1;
      unsigned RB3:1;
      unsigned RB4:1;
      unsigned RB5:1;
      unsigned RB6:1;
      unsigned RB7:1;
    } DDRBbits;
    extern volatile near unsigned char       TRISB;
    extern volatile near struct {
      unsigned TRISB0:1;
      unsigned TRISB1:1;
      unsigned TRISB2:1;
      unsigned TRISB3:1;
      unsigned TRISB4:1;
      unsigned TRISB5:1;
      unsigned TRISB6:1;
      unsigned TRISB7:1;
    } TRISBbits;
    extern volatile near unsigned char       DDRC;
    extern volatile near struct {
      unsigned RC0:1;
      unsigned RC1:1;
      unsigned RC2:1;
      unsigned :3;
      unsigned RC6:1;
      unsigned RC7:1;
    } DDRCbits;
    extern volatile near unsigned char       TRISC;
    extern volatile near struct {
      unsigned TRISC0:1;
      unsigned TRISC1:1;
      unsigned TRISC2:1;
      unsigned :3;
      unsigned TRISC6:1;
      unsigned TRISC7:1;
    } TRISCbits;
    extern volatile near unsigned char       DDRD;
    extern volatile near struct {
      unsigned RD0:1;
      unsigned RD1:1;
      unsigned RD2:1;
      unsigned RD3:1;
      unsigned RD4:1;
      unsigned RD5:1;
      unsigned RD6:1;
      unsigned RD7:1;
    } DDRDbits;
    extern volatile near unsigned char       TRISD;
    extern volatile near struct {
      unsigned TRISD0:1;
      unsigned TRISD1:1;
      unsigned TRISD2:1;
      unsigned TRISD3:1;
      unsigned TRISD4:1;
      unsigned TRISD5:1;
      unsigned TRISD6:1;
      unsigned TRISD7:1;
    } TRISDbits;
    extern volatile near unsigned char       DDRE;
    extern volatile near struct {
      unsigned RE0:1;
      unsigned RE1:1;
      unsigned RE2:1;
    } DDREbits;
    extern volatile near unsigned char       TRISE;
    extern volatile near struct {
      unsigned TRISE0:1;
      unsigned TRISE1:1;
      unsigned TRISE2:1;
    } TRISEbits;
    extern volatile near unsigned char       OSCTUNE;
    extern volatile near struct {
      unsigned TUN0:1;
      unsigned TUN1:1;
      unsigned TUN2:1;
      unsigned TUN3:1;
      unsigned TUN4:1;
      unsigned :2;
      unsigned INTSRC:1;
    } OSCTUNEbits;
    extern volatile near unsigned char       PIE1;
    extern volatile near struct {
      unsigned TMR1IE:1;
      unsigned TMR2IE:1;
      unsigned CCP1IE:1;
      unsigned SSPIE:1;
      unsigned TXIE:1;
      unsigned RCIE:1;
      unsigned ADIE:1;
      unsigned SPPIE:1;
    } PIE1bits;
    extern volatile near unsigned char       PIR1;
    extern volatile near struct {
      unsigned TMR1IF:1;
      unsigned TMR2IF:1;
      unsigned CCP1IF:1;
      unsigned SSPIF:1;
      unsigned TXIF:1;
      unsigned RCIF:1;
      unsigned ADIF:1;
      unsigned SPPIF:1;
    } PIR1bits;
    extern volatile near unsigned char       IPR1;
    extern volatile near struct {
      unsigned TMR1IP:1;
      unsigned TMR2IP:1;
      unsigned CCP1IP:1;
      unsigned SSPIP:1;
      unsigned TXIP:1;
      unsigned RCIP:1;
      unsigned ADIP:1;
      unsigned SPPIP:1;
    } IPR1bits;
    extern volatile near unsigned char       PIE2;
    extern volatile near union {
      struct {
        unsigned CCP2IE:1;
        unsigned TMR3IE:1;
        unsigned LVDIE:1;
        unsigned BCLIE:1;
        unsigned EEIE:1;
        unsigned USBIE:1;
        unsigned CMIE:1;
        unsigned OSCFIE:1;
      };
      struct {
        unsigned :2;
        unsigned HLVDIE:1;
      };
    } PIE2bits;
    extern volatile near unsigned char       PIR2;
    extern volatile near union {
      struct {
        unsigned CCP2IF:1;
        unsigned TMR3IF:1;
        unsigned LVDIF:1;
        unsigned BCLIF:1;
        unsigned EEIF:1;
        unsigned USBIF:1;
        unsigned CMIF:1;
        unsigned OSCFIF:1;
      };
      struct {
        unsigned :2;
        unsigned HLVDIF:1;
      };
    } PIR2bits;
    extern volatile near unsigned char       IPR2;
    extern volatile near union {
      struct {
        unsigned CCP2IP:1;
        unsigned TMR3IP:1;
        unsigned LVDIP:1;
        unsigned BCLIP:1;
        unsigned EEIP:1;
        unsigned USBIP:1;
        unsigned CMIP:1;
        unsigned OSCFIP:1;
      };
      struct {
        unsigned :2;
        unsigned HLVDIP:1;
      };
    } IPR2bits;
    extern volatile near unsigned char       EECON1;
    extern volatile near struct {
      unsigned RD:1;
      unsigned WR:1;
      unsigned WREN:1;
      unsigned WRERR:1;
      unsigned FREE:1;
      unsigned :1;
      unsigned CFGS:1;
      unsigned EEPGD:1;
    } EECON1bits;
    extern volatile near unsigned char       EECON2;
    extern volatile near unsigned char       EEDATA;
    extern volatile near unsigned char       EEADR;
    extern volatile near unsigned char       RCSTA;
    extern volatile near union {
      struct {
        unsigned RX9D:1;
        unsigned OERR:1;
        unsigned FERR:1;
        unsigned ADDEN:1;
        unsigned CREN:1;
        unsigned SREN:1;
        unsigned RX9:1;
        unsigned SPEN:1;
      };
      struct {
        unsigned :3;
        unsigned ADEN:1;
      };
    } RCSTAbits;
    extern volatile near unsigned char       TXSTA;
    extern volatile near struct {
      unsigned TX9D:1;
      unsigned TRMT:1;
      unsigned BRGH:1;
      unsigned SENDB:1;
      unsigned SYNC:1;
      unsigned TXEN:1;
      unsigned TX9:1;
      unsigned CSRC:1;
    } TXSTAbits;
    extern volatile near unsigned char       TXREG;
    extern volatile near unsigned char       RCREG;
    extern volatile near unsigned char       SPBRG;
    extern volatile near unsigned char       SPBRGH;
    extern volatile near unsigned char       T3CON;
    extern volatile near union {
      struct {
        unsigned TMR3ON:1;
        unsigned TMR3CS:1;
        unsigned T3SYNC:1;
        unsigned T3CCP1:1;
        unsigned T3CKPS0:1;
        unsigned T3CKPS1:1;
        unsigned T3CCP2:1;
        unsigned RD16:1;
      };
      struct {
        unsigned :2;
        unsigned T3NSYNC:1;
      };
      struct {
        unsigned :2;
        unsigned NOT_T3SYNC:1;
      };
    } T3CONbits;
    extern volatile near unsigned char       TMR3L;
    extern volatile near unsigned char       TMR3H;
    extern volatile near unsigned char       CMCON;
    extern volatile near struct {
      unsigned CM0:1;
      unsigned CM1:1;
      unsigned CM2:1;
      unsigned CIS:1;
      unsigned C1INV:1;
      unsigned C2INV:1;
      unsigned C1OUT:1;
      unsigned C2OUT:1;
    } CMCONbits;
    extern volatile near unsigned char       CVRCON;
    extern volatile near union {
      struct {
        unsigned CVR0:1;
        unsigned CVR1:1;
        unsigned CVR2:1;
        unsigned CVR3:1;
        unsigned CVREF:1;
        unsigned CVRR:1;
        unsigned CVROE:1;
        unsigned CVREN:1;
      };
      struct {
        unsigned :4;
        unsigned CVRSS:1;
      };
    } CVRCONbits;
    extern volatile near unsigned char       CCP1AS;
    extern volatile near struct {
      unsigned PSSBD0:1;
      unsigned PSSBD1:1;
      unsigned PSSAC0:1;
      unsigned PSSAC1:1;
      unsigned ECCPAS0:1;
      unsigned ECCPAS1:1;
      unsigned ECCPAS2:1;
      unsigned ECCPASE:1;
    } CCP1ASbits;
    extern volatile near unsigned char       ECCP1AS;
    extern volatile near struct {
      unsigned PSSBD0:1;
      unsigned PSSBD1:1;
      unsigned PSSAC0:1;
      unsigned PSSAC1:1;
      unsigned ECCPAS0:1;
      unsigned ECCPAS1:1;
      unsigned ECCPAS2:1;
      unsigned ECCPASE:1;
    } ECCP1ASbits;
    extern volatile near unsigned char       CCP1DEL;
    extern volatile near struct {
      unsigned PDC0:1;
      unsigned PDC1:1;
      unsigned PDC2:1;
      unsigned PDC3:1;
      unsigned PDC4:1;
      unsigned PDC5:1;
      unsigned PDC6:1;
      unsigned PRSEN:1;
    } CCP1DELbits;
    extern volatile near unsigned char       ECCP1DEL;
    extern volatile near struct {
      unsigned PDC0:1;
      unsigned PDC1:1;
      unsigned PDC2:1;
      unsigned PDC3:1;
      unsigned PDC4:1;
      unsigned PDC5:1;
      unsigned PDC6:1;
      unsigned PRSEN:1;
    } ECCP1DELbits;
    extern volatile near unsigned char       BAUDCON;
    extern volatile near union {
      struct {
        unsigned ABDEN:1;
        unsigned WUE:1;
        unsigned :1;
        unsigned BRG16:1;
        unsigned SCKP:1;
        unsigned :1;
        unsigned RCIDL:1;
        unsigned ABDOVF:1;
      };
      struct {
        unsigned :6;
        unsigned RCMT:1;
      };
    } BAUDCONbits;
    extern volatile near unsigned char       CCP2CON;
    extern volatile near struct {
      unsigned CCP2M0:1;
      unsigned CCP2M1:1;
      unsigned CCP2M2:1;
      unsigned CCP2M3:1;
      unsigned DC2B0:1;
      unsigned DC2B1:1;
    } CCP2CONbits;
    extern volatile near unsigned            CCPR2;
    extern volatile near unsigned char       CCPR2L;
    extern volatile near unsigned char       CCPR2H;
    extern volatile near unsigned char       CCP1CON;
    extern volatile near struct {
      unsigned CCP1M0:1;
      unsigned CCP1M1:1;
      unsigned CCP1M2:1;
      unsigned CCP1M3:1;
      unsigned DC1B0:1;
      unsigned DC1B1:1;
      unsigned P1M0:1;
      unsigned P1M1:1;
    } CCP1CONbits;
    extern volatile near unsigned char       ECCP1CON;
    extern volatile near struct {
      unsigned CCP1M0:1;
      unsigned CCP1M1:1;
      unsigned CCP1M2:1;
      unsigned CCP1M3:1;
      unsigned DC1B0:1;
      unsigned DC1B1:1;
      unsigned P1M0:1;
      unsigned P1M1:1;
    } ECCP1CONbits;
    extern volatile near unsigned            CCPR1;
    extern volatile near unsigned char       CCPR1L;
    extern volatile near unsigned char       CCPR1H;
    extern volatile near unsigned char       ADCON2;
    extern volatile near struct {
      unsigned ADCS0:1;
      unsigned ADCS1:1;
      unsigned ADCS2:1;
      unsigned ACQT0:1;
      unsigned ACQT1:1;
      unsigned ACQT2:1;
      unsigned :1;
      unsigned ADFM:1;
    } ADCON2bits;
    extern volatile near unsigned char       ADCON1;
    extern volatile near struct {
      unsigned PCFG0:1;
      unsigned PCFG1:1;
      unsigned PCFG2:1;
      unsigned PCFG3:1;
      unsigned VCFG0:1;
      unsigned VCFG1:1;
    } ADCON1bits;
    extern volatile near unsigned char       ADCON0;
    extern volatile near union {
      struct {
        unsigned ADON:1;
        unsigned GO_DONE:1;
        unsigned CHS0:1;
        unsigned CHS1:1;
        unsigned CHS2:1;
        unsigned CHS3:1;
      };
      struct {
        unsigned :1;
        unsigned DONE:1;
      };
      struct {
        unsigned :1;
        unsigned GO:1;
      };
      struct {
        unsigned :1;
        unsigned NOT_DONE:1;
      };
    } ADCON0bits;
    extern volatile near unsigned            ADRES;
    extern volatile near unsigned char       ADRESL;
    extern volatile near unsigned char       ADRESH;
    extern volatile near unsigned char       SSPCON2;
    extern volatile near struct {
      unsigned SEN:1;
      unsigned RSEN:1;
      unsigned PEN:1;
      unsigned RCEN:1;
      unsigned ACKEN:1;
      unsigned ACKDT:1;
      unsigned ACKSTAT:1;
      unsigned GCEN:1;
    } SSPCON2bits;
    extern volatile near unsigned char       SSPCON1;
    extern volatile near struct {
      unsigned SSPM0:1;
      unsigned SSPM1:1;
      unsigned SSPM2:1;
      unsigned SSPM3:1;
      unsigned CKP:1;
      unsigned SSPEN:1;
      unsigned SSPOV:1;
      unsigned WCOL:1;
    } SSPCON1bits;
    extern volatile near unsigned char       SSPSTAT;
    extern volatile near union {
      struct {
        unsigned BF:1;
        unsigned UA:1;
        unsigned R_W:1;
        unsigned S:1;
        unsigned P:1;
        unsigned D_A:1;
        unsigned CKE:1;
        unsigned SMP:1;
      };
      struct {
        unsigned :2;
        unsigned I2C_READ:1;
        unsigned I2C_START:1;
        unsigned I2C_STOP:1;
        unsigned I2C_DAT:1;
      };
      struct {
        unsigned :2;
        unsigned NOT_W:1;
        unsigned :2;
        unsigned NOT_A:1;
      };
      struct {
        unsigned :2;
        unsigned NOT_WRITE:1;
        unsigned :2;
        unsigned NOT_ADDRESS:1;
      };
      struct {
        unsigned :2;
        unsigned READ_WRITE:1;
        unsigned :2;
        unsigned DATA_ADDRESS:1;
      };
      struct {
        unsigned :2;
        unsigned R:1;
        unsigned :2;
        unsigned D:1;
      };
    } SSPSTATbits;
    extern volatile near unsigned char       SSPADD;
    extern volatile near unsigned char       SSPBUF;
    extern volatile near unsigned char       T2CON;
    extern volatile near struct {
      unsigned T2CKPS0:1;
      unsigned T2CKPS1:1;
      unsigned TMR2ON:1;
      unsigned T2OUTPS0:1;
      unsigned T2OUTPS1:1;
      unsigned T2OUTPS2:1;
      unsigned T2OUTPS3:1;
    } T2CONbits;
    extern volatile near unsigned char       PR2;
    extern volatile near unsigned char       TMR2;
    extern volatile near unsigned char       T1CON;
    extern volatile near union {
      struct {
        unsigned TMR1ON:1;
        unsigned TMR1CS:1;
        unsigned T1SYNC:1;
        unsigned T1OSCEN:1;
        unsigned T1CKPS0:1;
        unsigned T1CKPS1:1;
        unsigned T1RUN:1;
        unsigned RD16:1;
      };
      struct {
        unsigned :2;
        unsigned NOT_T1SYNC:1;
      };
    } T1CONbits;
    extern volatile near unsigned char       TMR1L;
    extern volatile near unsigned char       TMR1H;
    extern volatile near unsigned char       RCON;
    extern volatile near union {
      struct {
        unsigned NOT_BOR:1;
        unsigned NOT_POR:1;
        unsigned NOT_PD:1;
        unsigned NOT_TO:1;
        unsigned NOT_RI:1;
        unsigned :1;
        unsigned SBOREN:1;
        unsigned NOT_IPEN:1;
      };
      struct {
        unsigned BOR:1;
        unsigned POR:1;
        unsigned PD:1;
        unsigned TO:1;
        unsigned RI:1;
        unsigned :2;
        unsigned IPEN:1;
      };
    } RCONbits;
    extern volatile near unsigned char       WDTCON;
    extern volatile near union {
      struct {
        unsigned SWDTEN:1;
      };
      struct {
        unsigned SWDTE:1;
      };
    } WDTCONbits;
    extern volatile near unsigned char       HLVDCON;
    extern volatile near union {
      struct {
        unsigned LVDL0:1;
        unsigned LVDL1:1;
        unsigned LVDL2:1;
        unsigned LVDL3:1;
        unsigned LVDEN:1;
        unsigned IRVST:1;
      };
      struct {
        unsigned LVV0:1;
        unsigned LVV1:1;
        unsigned LVV2:1;
        unsigned LVV3:1;
        unsigned :1;
        unsigned BGST:1;
      };
      struct {
        unsigned HLVDL0:1;
        unsigned HLVDL1:1;
        unsigned HLVDL2:1;
        unsigned HLVDL3:1;
        unsigned HLVDEN:1;
        unsigned :2;
        unsigned VDIRMAG:1;
      };
      struct {
        unsigned :5;
        unsigned IVRST:1;
      };
    } HLVDCONbits;
    extern volatile near unsigned char       LVDCON;
    extern volatile near union {
      struct {
        unsigned LVDL0:1;
        unsigned LVDL1:1;
        unsigned LVDL2:1;
        unsigned LVDL3:1;
        unsigned LVDEN:1;
        unsigned IRVST:1;
      };
      struct {
        unsigned LVV0:1;
        unsigned LVV1:1;
        unsigned LVV2:1;
        unsigned LVV3:1;
        unsigned :1;
        unsigned BGST:1;
      };
      struct {
        unsigned HLVDL0:1;
        unsigned HLVDL1:1;
        unsigned HLVDL2:1;
        unsigned HLVDL3:1;
        unsigned HLVDEN:1;
        unsigned :2;
        unsigned VDIRMAG:1;
      };
      struct {
        unsigned :5;
        unsigned IVRST:1;
      };
    } LVDCONbits;
    extern volatile near unsigned char       OSCCON;
    extern volatile near union {
      struct {
        unsigned SCS0:1;
        unsigned SCS1:1;
        unsigned IOFS:1;
        unsigned OSTS:1;
        unsigned IRCF0:1;
        unsigned IRCF1:1;
        unsigned IRCF2:1;
        unsigned IDLEN:1;
      };
      struct {
        unsigned :2;
        unsigned FLTS:1;
      };
    } OSCCONbits;
    extern volatile near unsigned char       T0CON;
    extern volatile near 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;
    extern volatile near unsigned char       TMR0L;
    extern volatile near unsigned char       TMR0H;
    extern          near unsigned char       STATUS;
    extern          near struct {
      unsigned C:1;
      unsigned DC:1;
      unsigned Z:1;
      unsigned OV:1;
      unsigned N:1;
    } STATUSbits;
    extern          near unsigned            FSR2;
    extern          near unsigned char       FSR2L;
    extern          near unsigned char       FSR2H;
    extern volatile near unsigned char       PLUSW2;
    extern volatile near unsigned char       PREINC2;
    extern volatile near unsigned char       POSTDEC2;
    extern volatile near unsigned char       POSTINC2;
    extern          near unsigned char       INDF2;
    extern          near unsigned char       BSR;
    extern          near unsigned            FSR1;
    extern          near unsigned char       FSR1L;
    extern          near unsigned char       FSR1H;
    extern volatile near unsigned char       PLUSW1;
    extern volatile near unsigned char       PREINC1;
    extern volatile near unsigned char       POSTDEC1;
    extern volatile near unsigned char       POSTINC1;
    extern          near unsigned char       INDF1;
    extern          near unsigned char       WREG;
    extern          near unsigned            FSR0;
    extern          near unsigned char       FSR0L;
    extern          near unsigned char       FSR0H;
    extern volatile near unsigned char       PLUSW0;
    extern volatile near unsigned char       PREINC0;
    extern volatile near unsigned char       POSTDEC0;
    extern volatile near unsigned char       POSTINC0;
    extern          near unsigned char       INDF0;
    extern volatile near unsigned char       INTCON3;
    extern volatile near union {
      struct {
        unsigned INT1IF:1;
        unsigned INT2IF:1;
        unsigned :1;
        unsigned INT1IE:1;
        unsigned INT2IE:1;
        unsigned :1;
        unsigned INT1IP:1;
        unsigned INT2IP:1;
      };
      struct {
        unsigned INT1F:1;
        unsigned INT2F:1;
        unsigned :1;
        unsigned INT1E:1;
        unsigned INT2E:1;
        unsigned :1;
        unsigned INT1P:1;
        unsigned INT2P:1;
      };
    } INTCON3bits;
    extern volatile near unsigned char       INTCON2;
    extern volatile near union {
      struct {
        unsigned RBIP:1;
        unsigned :1;
        unsigned TMR0IP:1;
        unsigned :1;
        unsigned INTEDG2:1;
        unsigned INTEDG1:1;
        unsigned INTEDG0:1;
        unsigned NOT_RBPU:1;
      };
      struct {
        unsigned :2;
        unsigned T0IP:1;
        unsigned :4;
        unsigned RBPU:1;
      };
    } INTCON2bits;
    extern volatile near unsigned char       INTCON;
    extern volatile near union {
      struct {
        unsigned RBIF:1;
        unsigned INT0IF:1;
        unsigned TMR0IF:1;
        unsigned RBIE:1;
        unsigned INT0IE:1;
        unsigned TMR0IE:1;
        unsigned PEIE:1;
        unsigned GIE:1;
      };
      struct {
        unsigned :1;
        unsigned INT0F:1;
        unsigned T0IF:1;
        unsigned :1;
        unsigned INT0E:1;
        unsigned T0IE:1;
        unsigned GIEL:1;
        unsigned GIEH:1;
      };
    } INTCONbits;
    extern          near unsigned            PROD;
    extern          near unsigned char       PRODL;
    extern          near unsigned char       PRODH;
    extern volatile near unsigned char       TABLAT;
    extern volatile near unsigned short long TBLPTR;
    extern volatile near unsigned char       TBLPTRL;
    extern volatile near unsigned char       TBLPTRH;
    extern volatile near unsigned char       TBLPTRU;
    extern volatile near unsigned short long PC;
    extern volatile near unsigned char       PCL;
    extern volatile near unsigned char       PCLATH;
    extern volatile near unsigned char       PCLATU;
    extern volatile near unsigned char       STKPTR;
    extern volatile near struct {
      unsigned STKPTR0:1;
      unsigned STKPTR1:1;
      unsigned STKPTR2:1;
      unsigned STKPTR3:1;
      unsigned STKPTR4:1;
      unsigned :1;
      unsigned STKUNF:1;
      unsigned STKFUL:1;
    } STKPTRbits;
    extern          near unsigned short long TOS;
    extern          near unsigned char       TOSL;
    extern          near unsigned char       TOSH;
    extern          near unsigned char       TOSU;
    
    
    /*-------------------------------------------------------------------------
     * Some useful defines for inline assembly stuff
     *-------------------------------------------------------------------------*/
    #define ACCESS 0
    #define BANKED 1
    
    /*-------------------------------------------------------------------------
     * Some useful macros for inline assembly stuff
     *-------------------------------------------------------------------------*/
    #define Nop()    {_asm nop _endasm}
    #define ClrWdt() {_asm clrwdt _endasm}
    #define Sleep()  {_asm sleep _endasm}
    #define Reset()  {_asm reset _endasm}
    
    #define Rlcf(f,dest,access)  {_asm movlb f rlcf f,dest,access _endasm}
    #define Rlncf(f,dest,access) {_asm movlb f rlncf f,dest,access _endasm}
    #define Rrcf(f,dest,access)  {_asm movlb f rrcf f,dest,access _endasm}
    #define Rrncf(f,dest,access) {_asm movlb f rrncf f,dest,access _endasm}
    #define Swapf(f,dest,access) {_asm movlb f swapf f,dest,access _endasm }
    
    /*-------------------------------------------------------------------------
     * A fairly inclusive set of registers to save for interrupts.
     * These are locations which are commonly used by the compiler.
     *-------------------------------------------------------------------------*/
    #define INTSAVELOCS TBLPTR, TABLAT, PROD
    
    
    #endif
    But i am not sure how this helps me? What do i need to look for?
    Thanks
    Last edited by phoenix23; 10-24-2006 at 06:23 AM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. sorting the matrix question..
    By transgalactic2 in forum C Programming
    Replies: 47
    Last Post: 12-22-2008, 03:17 PM
  2. Making a mouse hover button, API style
    By hanhao in forum C++ Programming
    Replies: 1
    Last Post: 05-27-2004, 06:17 AM
  3. Game Design Topic #2 - Keyboard or Mouse?
    By TechWins in forum Game Programming
    Replies: 4
    Last Post: 10-08-2002, 03:34 PM
  4. How I can Show the pointer of mouse int 800*600 256 color mode in Turbo C++?
    By hadizadeh in forum A Brief History of Cprogramming.com
    Replies: 3
    Last Post: 12-12-2001, 07:17 AM
  5. Moving Mouse Pointer
    By loobian in forum Windows Programming
    Replies: 8
    Last Post: 10-16-2001, 03:45 PM