/*------------------------------------------------------------------------- config.c - PIC configuration words This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -------------------------------------------------------------------------*/ #include /* Generic Setup() */ void Generic26kSetup() { OSCCON=0b01110000; OSCTUNEbits.PLLEN=1; #if UART_PORT==1 ANSELCbits.ANSC7=0; //enable digital input buffer for RX pin #endif TRISA=0xff; TRISB=0xff; TRISC=0xff; TRISE=0xff; IOCB=0; //disable all 4 portB "interrupt on change" INTCON2bits.RBPU=0; //enable PORTB weak pullups } #ifdef BOOTLOADER /* Set the PIC config words */ __code char __at __CONFIG1H _conf1 = _FOSC_INTIO67_1H // Internal oscillator block & _PLLCFG_ON_1H // Oscillator multiplied by 4 & _PRICLKEN_ON_1H // Primary clock enabled & _FCMEN_OFF_1H // Fail-Safe Clock Monitor disabled & _IESO_OFF_1H; // Oscillator Switchover mode disabled __code char __at __CONFIG2L _conf2 = _PWRTEN_ON_2L // Power up timer enabled & _BOREN_ON_2L // Brown-out Reset enabled and controlled by software (SBOREN is enabled) & _BORV_285_2L; // VBOR set to 2.85 V nominal __code char __at __CONFIG2H _conf3 = _WDTEN_SWON_2H // WDT is controlled by SWDTEN bit of the WDTCON register & _WDTPS_256_2H; // 1:256 = 1.024s __code char __at __CONFIG4L _conf5 = //_STVREN_OFF_4L // Stack full/underflow will not cause Reset _STVREN_ON_4L // Stack full/underflow will cause Reset & _LVP_OFF_4L // Single-Supply ICSP disabled & _XINST_OFF_4L // Instruction set extension and Indexed Addressing mode disabled (Legacy mode) & _DEBUG_OFF_4L; // Disabled __code char __at __CONFIG5L _conf6 = _CP0_OFF_5L // Block 0 (000800-003FFFh) not code-protected & _CP1_OFF_5L // Block 1 (004000-007FFFh) not code-protected & _CP2_OFF_5L // Block 2 (008000-00BFFFh) not code-protected & _CP3_OFF_5L ; // Block 3 (00C000-00FFFFh) not code-protected __code char __at __CONFIG5H _conf7 = _CPB_OFF_5H // Boot block (000000-0007FFh) not code-protected & _CPD_OFF_5H; // Data EEPROM not code-protected __code char __at __CONFIG6L _conf8 = 0xff; // no code protection at all __code char __at __CONFIG6H _conf9 = 0xff; __code char __at __CONFIG7L _conf10 = 0xff; __code char __at __CONFIG7H _conf11 = 0xff; #endif //BOOTLOADER