| 1661 | kaklik | 1 | /******************************************************************** | 
      
        |  |  | 2 |  FileName:     	HardwareProfile - PIC24FJ256GB110 PIM.h | 
      
        |  |  | 3 |  Dependencies:  See INCLUDES section | 
      
        |  |  | 4 |  Processor:     PIC24FJ256GB110 | 
      
        |  |  | 5 |  Hardware:      PIC24FJ256GB110 PIM | 
      
        |  |  | 6 |  Compiler:      Microchip C30 | 
      
        |  |  | 7 |  Company:       Microchip Technology, Inc. | 
      
        |  |  | 8 |  | 
      
        |  |  | 9 |  Software License Agreement: | 
      
        |  |  | 10 |  | 
      
        |  |  | 11 |  The software supplied herewith by Microchip Technology Incorporated | 
      
        |  |  | 12 |  (the Company) for its PIC® Microcontroller is intended and | 
      
        |  |  | 13 |  supplied to you, the Companys customer, for use solely and | 
      
        |  |  | 14 |  exclusively on Microchip PIC Microcontroller products. The | 
      
        |  |  | 15 |  software is owned by the Company and/or its supplier, and is | 
      
        |  |  | 16 |  protected under applicable copyright laws. All rights are reserved. | 
      
        |  |  | 17 |  Any use in violation of the foregoing restrictions may subject the | 
      
        |  |  | 18 |  user to criminal sanctions under applicable laws, as well as to | 
      
        |  |  | 19 |  civil liability for the breach of the terms and conditions of this | 
      
        |  |  | 20 |  license. | 
      
        |  |  | 21 |  | 
      
        |  |  | 22 |  THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, | 
      
        |  |  | 23 |  WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED | 
      
        |  |  | 24 |  TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | 
      
        |  |  | 25 |  PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, | 
      
        |  |  | 26 |  IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR | 
      
        |  |  | 27 |  CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. | 
      
        |  |  | 28 |  | 
      
        |  |  | 29 | ******************************************************************** | 
      
        |  |  | 30 |  File Description: | 
      
        |  |  | 31 |  | 
      
        |  |  | 32 |  Change History: | 
      
        |  |  | 33 |   Rev   Date         Description | 
      
        |  |  | 34 |   1.0   11/19/2004   Initial release | 
      
        |  |  | 35 |   2.1   02/26/2007   Updated for simplicity and to use common | 
      
        |  |  | 36 |                      coding style | 
      
        |  |  | 37 |   2.3   09/15/2008   Broke out each hardware platform into its own | 
      
        |  |  | 38 |                      "HardwareProfile - xxx.h" file | 
      
        |  |  | 39 | ********************************************************************/ | 
      
        |  |  | 40 |  | 
      
        |  |  | 41 | #ifndef HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H | 
      
        |  |  | 42 | #define HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H | 
      
        |  |  | 43 |  | 
      
        |  |  | 44 |     /*******************************************************************/ | 
      
        |  |  | 45 |     /******** USB stack hardware selection options *********************/ | 
      
        |  |  | 46 |     /*******************************************************************/ | 
      
        |  |  | 47 |     //This section is the set of definitions required by the MCHPFSUSB | 
      
        |  |  | 48 |     //  framework.  These definitions tell the firmware what mode it is | 
      
        |  |  | 49 |     //  running in, and where it can find the results to some information | 
      
        |  |  | 50 |     //  that the stack needs. | 
      
        |  |  | 51 |     //These definitions are required by every application developed with | 
      
        |  |  | 52 |     //  this revision of the MCHPFSUSB framework.  Please review each | 
      
        |  |  | 53 |     //  option carefully and determine which options are desired/required | 
      
        |  |  | 54 |     //  for your application. | 
      
        |  |  | 55 |  | 
      
        |  |  | 56 |     //#define USE_SELF_POWER_SENSE_IO | 
      
        |  |  | 57 |     #define tris_self_power     TRISAbits.TRISA2    // Input | 
      
        |  |  | 58 |     #define self_power          1 | 
      
        |  |  | 59 |  | 
      
        |  |  | 60 |     //#define USE_USB_BUS_SENSE_IO | 
      
        |  |  | 61 |     #define tris_usb_bus_sense  TRISBbits.TRISB5    // Input | 
      
        |  |  | 62 |     #define USB_BUS_SENSE       1  | 
      
        |  |  | 63 |  | 
      
        |  |  | 64 |     //Uncomment this to make the output HEX of this project  | 
      
        |  |  | 65 |     //   to be able to be bootloaded using the HID bootloader | 
      
        |  |  | 66 |     #define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER	 | 
      
        |  |  | 67 |  | 
      
        |  |  | 68 |     //If the application is going to be used with the HID bootloader | 
      
        |  |  | 69 |     //  then this will provide a function for the application to  | 
      
        |  |  | 70 |     //  enter the bootloader from the application (optional) | 
      
        |  |  | 71 |     #if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) | 
      
        |  |  | 72 |         #define EnterBootloader() __asm__("goto 0x400") | 
      
        |  |  | 73 |     #endif    | 
      
        |  |  | 74 |  | 
      
        |  |  | 75 |  | 
      
        |  |  | 76 |     /*******************************************************************/ | 
      
        |  |  | 77 |     /*******************************************************************/ | 
      
        |  |  | 78 |     /*******************************************************************/ | 
      
        |  |  | 79 |     /******** Application specific definitions *************************/ | 
      
        |  |  | 80 |     /*******************************************************************/ | 
      
        |  |  | 81 |     /*******************************************************************/ | 
      
        |  |  | 82 |     /*******************************************************************/ | 
      
        |  |  | 83 |  | 
      
        |  |  | 84 |     /** Board definition ***********************************************/ | 
      
        |  |  | 85 |     //These defintions will tell the main() function which board is | 
      
        |  |  | 86 |     //  currently selected.  This will allow the application to add | 
      
        |  |  | 87 |     //  the correct configuration bits as wells use the correct | 
      
        |  |  | 88 |     //  initialization functions for the board.  These defitions are only | 
      
        |  |  | 89 |     //  required in the stack provided demos.  They are not required in | 
      
        |  |  | 90 |     //  final application design. | 
      
        |  |  | 91 |     #define DEMO_BOARD PIC24FJ256GB110_PIM | 
      
        |  |  | 92 |     #define EXPLORER_16 | 
      
        |  |  | 93 |     #define PIC24FJ256GB110_PIM | 
      
        |  |  | 94 |     #define CLOCK_FREQ 32000000 | 
      
        |  |  | 95 |     #define GetSystemClock() CLOCK_FREQ | 
      
        |  |  | 96 |     #define GetInstructionClock() GetSystemClock() | 
      
        |  |  | 97 |  | 
      
        |  |  | 98 |     /** LED ************************************************************/ | 
      
        |  |  | 99 |     #define mInitAllLEDs()      LATA &= 0xF0; TRISA &= 0xF0; | 
      
        |  |  | 100 |  | 
      
        |  |  | 101 |     #define mLED_1              LATAbits.LATA0 | 
      
        |  |  | 102 |     #define mLED_2              LATAbits.LATA1 | 
      
        |  |  | 103 |     #define mLED_3              LATAbits.LATA2 | 
      
        |  |  | 104 |     #define mLED_4              LATAbits.LATA3 | 
      
        |  |  | 105 |  | 
      
        |  |  | 106 |     #define mGetLED_1()         mLED_1 | 
      
        |  |  | 107 |     #define mGetLED_2()         mLED_2 | 
      
        |  |  | 108 |     #define mGetLED_3()         mLED_3 | 
      
        |  |  | 109 |     #define mGetLED_4()         mLED_4      | 
      
        |  |  | 110 |  | 
      
        |  |  | 111 |     #define mLED_1_On()         mLED_1 = 1; | 
      
        |  |  | 112 |     #define mLED_2_On()         mLED_2 = 1; | 
      
        |  |  | 113 |     #define mLED_3_On()         mLED_3 = 1; | 
      
        |  |  | 114 |     #define mLED_4_On()         mLED_4 = 1; | 
      
        |  |  | 115 |  | 
      
        |  |  | 116 |     #define mLED_1_Off()        mLED_1 = 0; | 
      
        |  |  | 117 |     #define mLED_2_Off()        mLED_2 = 0; | 
      
        |  |  | 118 |     #define mLED_3_Off()        mLED_3 = 0; | 
      
        |  |  | 119 |     #define mLED_4_Off()        mLED_4 = 0; | 
      
        |  |  | 120 |  | 
      
        |  |  | 121 |     #define mLED_1_Toggle()     mLED_1 = !mLED_1; | 
      
        |  |  | 122 |     #define mLED_2_Toggle()     mLED_2 = !mLED_2; | 
      
        |  |  | 123 |     #define mLED_3_Toggle()     mLED_3 = !mLED_3; | 
      
        |  |  | 124 |     #define mLED_4_Toggle()     mLED_4 = !mLED_4; | 
      
        |  |  | 125 |  | 
      
        |  |  | 126 |     /** SWITCH *********************************************************/ | 
      
        |  |  | 127 |     #define mInitSwitch2()      TRISDbits.TRISD6=1; | 
      
        |  |  | 128 |     #define mInitSwitch3()      TRISDbits.TRISD7=1; | 
      
        |  |  | 129 |     #define mInitAllSwitches()  mInitSwitch2();mInitSwitch3(); | 
      
        |  |  | 130 |     #define sw2                 PORTDbits.RD6 | 
      
        |  |  | 131 |     #define sw3                 PORTDbits.RD7 | 
      
        |  |  | 132 |  | 
      
        |  |  | 133 |     /** POT ************************************************************/ | 
      
        |  |  | 134 |     #define mInitPOT()  {AD1PCFGLbits.PCFG5 = 0;    AD1CON2bits.VCFG = 0x0;    AD1CON3bits.ADCS = 0xFF;    AD1CON1bits.SSRC = 0x0;    AD1CON3bits.SAMC = 0b10000;    AD1CON1bits.FORM = 0b00;    AD1CON2bits.SMPI = 0x0;    AD1CON1bits.ADON = 1;} | 
      
        |  |  | 135 |  | 
      
        |  |  | 136 | #endif  //HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H |