EDF - OnePIC MCU
v1.1.0
|
00001 /******************************************************************** 00002 * FileName: HardwareProfile.h 00003 * Dependencies: See INCLUDES section 00004 * Processor: PIC32MXF795F512 00005 * Hardware: 00006 * Complier: Microchip C32 00007 * Company: Microchip Technology, Inc. 00008 * 00009 * Software License Agreement 00010 * 00011 * Copyright © 2011 Microchip Technology Inc. 00012 * Microchip licenses this software to you solely for use with Microchip 00013 * products, according to the terms of the accompanying click-wrap software 00014 * license. Microchip and its licensors retain all right, title and interest in 00015 * and to the software. All rights reserved. This software and any accompanying 00016 * information is for suggestion only. It shall not be deemed to modify 00017 * Microchip’s standard warranty for its products. It is your responsibility to 00018 * ensure that this software meets your requirements. 00019 * 00020 * SOFTWARE IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR 00021 * IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, 00022 * NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL 00023 * MICROCHIP OR ITS LICENSORS BE LIABLE FOR ANY DIRECT OR INDIRECT DAMAGES OR 00024 * EXPENSES INCLUDING BUT NOT LIMITED TO INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE 00025 * OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF 00026 * SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, OR ANY CLAIMS BY THIRD PARTIES 00027 * (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS. 00028 * 00029 * The aggregate and cumulative liability of Microchip and its licensors for 00030 * damages related to the use of the software will in no event exceed $1000 or 00031 * the amount you paid Microchip for the software, whichever is greater. 00032 * 00033 * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE 00034 * TERMS AND THE TERMS OF THE ACCOMPANYING CLICK-WRAP SOFTWARE LICENSE. 00035 * 00036 * 00037 ******************************************************************** 00038 File Description: 00039 00040 Change History: 00041 Rev Date Description 00042 1.0 11/19/2004 Initial release 00043 2.1 02/26/2007 Updated for simplicity and to use common 00044 coding style 00045 2.2 04/01/08 cleaned up hardware profile selection for PKS24 00046 -------------------------------------------------------------------- 00047 NMS/NK 10-Feb-2009 Folder/Files restructuring 00048 NK 24-Apr-2009 Porting for 18F46J50 Eval Board 00049 MC 22-Ian-2010 Porting for PIC32MX795F512H 00050 MWM 38 Mar 2011 Added defines for all buttons/sliders so that 00051 this file can be used for all hardware configs 00052 MWM 12 Sep 2011 Added board defines for multiple board support 00053 ********************************************************************/ 00054 00055 #ifndef __HARDWARE_PROFILE_H 00056 #define __HARDWARE_PROFILE_H 00057 00058 #include "GenericTypeDefs.h" 00059 #include "mTouchCapPhy.h" 00060 00061 //========================================================== 00062 //--- HARDWARE PROFILE: 00063 //========================================================== 00064 //#define PIC24HJ128_CAP_TOUCH_EVAL_BOARD 00065 //#define DSPIC33FJ128_CAP_TOUCH_EVAL_BOARD 00066 //#define PIC32MC764F128_EXPLORER_16_BOARD 00067 //#define PIC32MX795_CAP_TOUCH_EVAL_BOARD 00068 # define PIC32MX795_ONE_PIC_MICRO_DEMO_BOARD 00069 //#define PIC32MX220_CAP_TOUCH_EVAL_BOARD 00070 //#define PIC32MX220_STARTER_KIT_BOARD 00071 00072 #if defined( PIC24HJ128_CAP_TOUCH_EVAL_BOARD ) 00073 00074 00075 #elif defined( DSPIC33FJ128_CAP_TOUCH_EVAL_BOARD ) 00076 00077 00078 #elif defined( PIC32MC764F128_EXPLORER_16_BOARD ) 00079 00080 00081 #elif defined( PIC32MX795_CAP_TOUCH_EVAL_BOARD ) 00082 // Clocks 00083 #define GetSystemClock() 80000000UL 00084 #define SYS_FREQ (80000000UL) 00085 #define GetPeripheralClock() (GetSystemClock()) 00086 #define GetInstructionClock() (GetSystemClock()) 00087 00088 // ADC channels available 00089 #define MAX_ADC_CHANNELS 16 00090 00091 // Key to ADC Channel assignment 00092 #define DIRECTKEY1_CHANNEL CHANNEL_AN8 00093 #define DIRECTKEY2_CHANNEL CHANNEL_AN9 00094 #define DIRECTKEY3_CHANNEL CHANNEL_AN10 00095 #define DIRECTKEY4_CHANNEL CHANNEL_AN11 00096 #define DIRECTKEY5_CHANNEL CHANNEL_AN12 00097 #define DIRECTKEY6_CHANNEL CHANNEL_AN13 00098 #define DIRECTKEY7_CHANNEL CHANNEL_AN14 00099 #define DIRECTKEY8_CHANNEL CHANNEL_AN15 00100 00101 // GPIO initialization values 00102 #define INIT_TRISB_VALUE 0x0000 00103 #define INIT_TRISC_VALUE 0x0000 00104 #define INIT_TRISD_VALUE 0x0000 00105 #define INIT_TRISE_VALUE 0x0000 00106 #define INIT_TRISF_VALUE 0x0000 00107 #define INIT_TRISG_VALUE 0x0000 00108 00109 #define INIT_PORTB_VALUE 0x0000 00110 #define INIT_PORTC_VALUE 0x0000 00111 #define INIT_PORTD_VALUE 0x0000 00112 #define INIT_PORTE_VALUE 0x0000 00113 #define INIT_PORTF_VALUE 0x0000 // Not used 00114 #define INIT_PORTG_VALUE 0x0000 00115 00116 #elif defined( PIC32MX795_ONE_PIC_MICRO_DEMO_BOARD ) 00117 // Clocks 00118 #define GetSystemClock() 20000000UL 00119 #define SYS_FREQ (20000000UL) 00120 #define GetPeripheralClock() (GetSystemClock()) 00121 #define GetInstructionClock() (GetSystemClock()) 00122 00123 // ADC channels available 00124 #define MAX_ADC_CHANNELS 16 00125 00126 // Key to ADC Channel assignment 00127 #define DIRECTKEY1_CHANNEL CHANNEL_AN0 00128 #define DIRECTKEY2_CHANNEL CHANNEL_AN1 00129 #define DIRECTKEY3_CHANNEL CHANNEL_AN2 00130 #define DIRECTKEY4_CHANNEL CHANNEL_AN3 00131 #define DIRECTKEY5_CHANNEL CHANNEL_AN4 00132 00133 // GPIO initialization values 00134 #define INIT_TRISB_VALUE 0x0000 00135 #define INIT_TRISC_VALUE 0x0000 00136 #define INIT_TRISD_VALUE 0x0000 00137 #define INIT_TRISE_VALUE 0x0000 00138 #define INIT_TRISF_VALUE 0x0000 00139 #define INIT_TRISG_VALUE 0x0000 00140 00141 #define INIT_PORTB_VALUE 0x0000 00142 #define INIT_PORTC_VALUE 0x0000 00143 #define INIT_PORTD_VALUE 0x0000 00144 #define INIT_PORTE_VALUE 0x0000 00145 #define INIT_PORTF_VALUE 0x0000 // Not used 00146 #define INIT_PORTG_VALUE 0x0000 00147 00148 #elif defined( PIC32MX220_CAP_TOUCH_EVAL_BOARD ) 00149 // Clocks 00150 #define GetSystemClock() 40000000UL 00151 #define SYS_FREQ (40000000UL) 00152 #define GetPeripheralClock() (GetSystemClock()) 00153 #define GetInstructionClock() (GetSystemClock()) 00154 00155 // ADC channels available 00156 #define MAX_ADC_CHANNELS 13 00157 00158 // Key to ADC channel assignment 00159 #define DIRECTKEY1_CHANNEL CHANNEL_AN0 00160 #define DIRECTKEY2_CHANNEL CHANNEL_AN1 00161 #define DIRECTKEY3_CHANNEL CHANNEL_AN4 00162 #define DIRECTKEY4_CHANNEL CHANNEL_AN5 00163 #define DIRECTKEY5_CHANNEL CHANNEL_AN6 00164 #define DIRECTKEY6_CHANNEL CHANNEL_AN7 00165 #define DIRECTKEY7_CHANNEL CHANNEL_AN8 00166 #define DIRECTKEY8_CHANNEL CHANNEL_AN9 00167 00168 // LED configuration on board 00169 //Rows: pin high to light LED 00170 #define PORTB_ROW_NIL ( 0 ) 00171 #define PORTC_ROW_NIL ( 0 ) 00172 00173 #define PORTB_ROW_1 (1<<9) 00174 #define PORTC_ROW_1 ( 0 ) 00175 00176 #define PORTB_ROW_2 ( 0 ) 00177 #define PORTC_ROW_2 (1<<6) 00178 00179 #define PORTB_ROW_3 ( 0 ) 00180 #define PORTC_ROW_3 (1<<7) 00181 00182 #define PORTB_ROW_4 ( 0 ) 00183 #define PORTC_ROW_4 (1<<8) 00184 00185 #define PORTB_ROW_ALL (1<<9) 00186 #define PORTC_ROW_ALL (1<<6)|(1<<7)|(1<<8) 00187 00188 //Columns: ground pin to light LED. 00189 #define PORTB_COL_NIL (1<<5|1<<7|1<<8) 00190 #define PORTC_COL_NIL (1<<9) 00191 00192 #define PORTB_COL_1 (1<<5|1<<7|1<<8) 00193 #define PORTC_COL_1 (0<<9) 00194 00195 #define PORTB_COL_2 (1<<5|1<<7|0<<8) 00196 #define PORTC_COL_2 (1<<9) 00197 00198 #define PORTB_COL_3 (1<<5|0<<7|1<<8) 00199 #define PORTC_COL_3 (1<<9) 00200 00201 #define PORTB_COL_4 (0<<5|1<<7|1<<8) 00202 #define PORTC_COL_4 (1<<9) 00203 00204 #define PORTB_COL_ALL (0<<5|0<<7|0<<8) 00205 #define PORTC_COL_ALL (0<<9) 00206 00207 // GPIO initialization values 00208 #define INIT_TRISA_VALUE (0xFFFF) 00209 #define INIT_TRISB_VALUE (0xFFFF & ~( (1<<5)|(1<<7)|(1<<8)|(1<<9) ) ) 00210 #define INIT_TRISC_VALUE (0xFFFF & ~( (1<<6)|(1<<7)|(1<<8)|(1<<9) ) ) 00211 00212 #define INIT_PORTA_VALUE 0x0000 00213 #define INIT_PORTB_VALUE PORTB_ROW_NIL | PORTB_COL_NIL 00214 #define INIT_PORTC_VALUE PORTC_ROW_NIL | PORTC_COL_NIL 00215 00216 #elif defined( PIC32MX220_STARTER_KIT_BOARD ) 00217 // Clocks 00218 #define GetSystemClock() 40000000UL 00219 #define SYS_FREQ (40000000UL) 00220 #define GetPeripheralClock() (GetSystemClock()) 00221 #define GetInstructionClock() (GetSystemClock()) 00222 00223 // ADC channels available 00224 #define MAX_ADC_CHANNELS 13 00225 00226 // Key to ADC channel assignment 00227 #define DIRECTKEY1_CHANNEL CHANNEL_AN6 00228 #define DIRECTKEY2_CHANNEL CHANNEL_AN7 00229 #define DIRECTKEY3_CHANNEL CHANNEL_AN8 00230 #define DIRECTKEY4_CHANNEL CHANNEL_AN12 00231 00232 // GPIO Initialization values 00233 #define INIT_TRISA_VALUE (1<<7) | (1<<9) //Switch 1 on A9, Switch 3 on RA7 00234 #define INIT_TRISB_VALUE 1<<4 //Switch 2 on RB4 00235 //#define INIT_TRISB_VALUE 0x0000 //Switch 2 disabled for UART 00236 #define INIT_TRISC_VALUE 0x0000 00237 00238 #define INIT_PORTA_VALUE 0x0000 00239 #define INIT_PORTB_VALUE 0x0000 00240 #define INIT_PORTC_VALUE 0x0000 00241 00242 #endif 00243 00244 #endif // __HARDWARE_PROFILE_H