If you have something it would be useful thanks.
If you have something it would be useful thanks.
The configs aren't so much different. If you use a programmer like an ICD2/3 or a PICKIT3, MPLAB will show you the options.
The easiest thing to do would be to set it up in a way that makes sense and simply try it.
Charles Linquist
The sub directory, "DEVICE_REFERENCE" of the PBP3 directory has an example with and all of the options listed.
Dave
Always wear safety glasses while programming.
That's very useful thanks but how do you know which configs go on which line ? can you mix them up?
CONFIG1H? xxxx & xxxx & xxxx etc etc
CONFIG2H?
CONFIG3H?
etc
Or do you just have as many config lines as reqd?
Maybe I am not understanding the question, the 1H things go on the 1H line, 2H on the 2H line...
Dave
Always wear safety glasses while programming.
Hi,
Just look at the .INFO file, it has a "section" for each CONFIG you can possibly set for the device, choose one from each section if you don't know the default, like:
That way you don't have to know which bit belongs to which register.Code:; This is for the 18F26K20 #CONFIG CONFIG FOSC = HSPLL CONFIG FCMEM = ON CONFIG IESO = OFF CONFIG PWRT = ON CONFIG BOREN = OFF ; And so on #ENDCONFIG
Otherwise you have to resort to the datasheet and/or the .inc file for the device located in the MPASM directory, at the bottom of that file you'll find which bit goes where, like:And so on but again, I prefer the new way posted above.Code:;----- CONFIG1H Options -------------------------------------------------- _FOSC_LP_1H EQU H'F0' ; LP oscillator _FOSC_XT_1H EQU H'F1' ; XT oscillator _FOSC_HS_1H EQU H'F2' ; HS oscillator _FOSC_RC_1H EQU H'F3' ; External RC oscillator, CLKOUT function on RA6 _FOSC_EC_1H EQU H'F4' ; EC oscillator, CLKOUT function on RA6 _FOSC_ECIO6_1H EQU H'F5' ; EC oscillator, port function on RA6 _FOSC_HSPLL_1H EQU H'F6' ; HS oscillator, PLL enabled (Clock Frequency = 4 x FOSC1) _FOSC_RCIO6_1H EQU H'F7' ; External RC oscillator, port function on RA6 _FOSC_INTIO67_1H EQU H'F8' ; Internal oscillator block, port function on RA6 and RA7 _FOSC_INTIO7_1H EQU H'F9' ; Internal oscillator block, CLKOUT function on RA6, port function on RA7 _FCMEN_OFF_1H EQU H'BF' ; Fail-Safe Clock Monitor disabled _FCMEN_ON_1H EQU H'FF' ; Fail-Safe Clock Monitor enabled _IESO_OFF_1H EQU H'7F' ; Oscillator Switchover mode disabled _IESO_ON_1H EQU H'FF' ; Oscillator Switchover mode enabled ;----- CONFIG2L Options -------------------------------------------------- _PWRT_ON_2L EQU H'FE' ; PWRT enabled _PWRT_OFF_2L EQU H'FF' ; PWRT disabled _BOREN_OFF_2L EQU H'F9' ; Brown-out Reset disabled in hardware and software _BOREN_ON_2L EQU H'FB' ; Brown-out Reset enabled and controlled by software (SBOREN is enabled) _BOREN_NOSLP_2L EQU H'FD' ; Brown-out Reset enabled in hardware only and disabled in Sleep mode (SBOREN is disabled) _BOREN_SBORDIS_2L EQU H'FF' ; Brown-out Reset enabled in hardware only (SBOREN is disabled) _BORV_30_2L EQU H'E7' ; VBOR set to 3.0 V nominal _BORV_27_2L EQU H'EF' ; VBOR set to 2.7 V nominal _BORV_22_2L EQU H'F7' ; VBOR set to 2.2 V nominal _BORV_18_2L EQU H'FF' ; VBOR set to 1.8 V nominal
/Henrik.
Thanks for the guidance here is my new 18F2620 config.
Below is my working old 16F886 config. Any glaring errors in the above? I'm just swapping chips and I want all functions to remain the same.Code:'------------------------------ New General 18F2620 configuration -------------------------- '#CONFIG ' __CONFIG _CONFIG1H, _OSC_INTIO67_1H & _FCMEN_OFF_1H & _IESO_OFF_1H ' __CONFIG _CONFIG2L, _PWRT_OFF_2L & _BOREN_OFF_2L ' __CONFIG _CONFIG2H, _WDT_OFF_2H ' __CONFIG _CONFIG3H, _PBADEN_OFF_3H & _LPT1OSC_OFF_3H & _MCLRE_OFF_3H ' __CONFIG _CONFIG4L, _STVREN_OFF_4L & _LVP_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L '#ENDCONFIG 'DEFINE OSC 8 'Set PicBasic Pro processor speed to 8 Mhz 'OSCCON = %01110110 'Internal 8 mhz Osc and stable 'CMCON = %00000111 'Comparators Off 'T1CON = %00110000 '$30 = Prescaler 1:8, TMR1 OFF 'TRISA = %00001011 'SET PORTA0, A1 & A3 AS INPUTS, REST AS OUTPUTS 'TRISB = %00000000 'SET PORTB AS OUTPUTS 'TRISC = %10010000 'SET PORTC AS OUTPUTS EXCEPT PORT C4 & C7 'ADCON0 = %00000001 'SETUP ADC & ENABLE ADC MODULE on AD0 'ADCON1 = %00001110 'SETUP ADC SET REFV to VDD & VSS AN0 'ADCON2 = %00100010 'SETUP ADC FOSC/32 LEFT JUSTIFY TAD 8
Code:'------------------------------ General 16F886 configuration -------------------------- #CONFIG __CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT __CONFIG _CONFIG2, _WRT_OFF & _BOR21V #ENDCONFIG DEFINE OSC 8 'Set PicBasic Pro processor speed to 8 Mhz OSCCON = %01110101 'Internal 8 mhz Osc and stable CM1CON0 = 0 'Comparator Off CM2CON0 = 0 'Comparator Off T1CON = %00110000 '$30 = Prescaler 1:8, TMR1 OFF TRISA = %00001011 'SET PORTA0, A1 & A3 AS INPUTS, REST AS OUTPUTS TRISB = %00000000 'SET PORTB AS OUTPUTS TRISC = %10010000 'SET PORTC AS OUTPUTS EXCEPT PORT C4 & C7 ANSEL = %00000001 'SET INPUT AN0 AS ANALOG INPUT ANSELH = %00000000 'Disable PortB AD ADCON0 = %10000001 'SETUP ADC CONVERTER MODULE FOSC/32 & ENABLE ADC MODULE on AD0 ADCON1 = %00000000 'SETUP ADC LEFT JUSTIFY SET REFV to VDD & VSS
Thanks Peter
I moved to a new pic to gain memory space but the same program compiled for the new pic is nearly twice the size as the 16F886 version :?
Why is that and can I get some memory back. I don't need 18F longs for instance and that is already disabled in the compiler.
Bookmarks