-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.c
69 lines (58 loc) · 1.92 KB
/
config.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#ifdef __XC32
#include <plib.h>
#endif
#ifdef __XC16
#include <xc.h>
#endif
#include "config.h"
#include "delay.h"
#ifdef __XC16
//8MHz
//_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & ICS_PGx1 & FWDTEN_OFF )
//_CONFIG2( IESO_OFF & FNOSC_FRC & FCKSM_CSDCMD & OSCIOFNC_OFF &
//IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE )
//32MHz PIC24FJ64GA
//_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & ICS_PGx1 & FWDTEN_OFF )
//_CONFIG2( IESO_ON & FNOSC_FRCPLL & FCKSM_CSDCMD & OSCIOFNC_ON &
//IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE & PLL96MHZ_ON & PLLDIV_DIV2 )
//_CONFIG4(RTCOSC_SOSC)
#ifdef __PIC24FJ64GB002__
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & ICS_PGx1 & FWDTEN_OFF )
_CONFIG2( IESO_ON & FNOSC_FRCPLL & FCKSM_CSDCMD & OSCIOFNC_ON &
IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE & PLL96MHZ_ON & PLLDIV_DIV2 )
_CONFIG4(RTCOSC_SOSC)
#endif
//16MHz PIC24FJ64GB
//_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & ICS_PGx1 & FWDTEN_OFF )
//_CONFIG2( IESO_ON & FNOSC_FRCPLL & FCKSM_CSDCMD & OSCIOFNC_OFF &
//IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE & PLL96MHZ_ON & PLLDIV_DIV2 )
#endif
#ifdef __XC32
// CPU40MHz
#pragma config FNOSC = FRCPLL // Oscillator Selection
#pragma config POSCMOD = OFF // Primary Oscillator
#pragma config FPLLIDIV = DIV_2 // PLL Input Divider
#pragma config FPLLMUL = MUL_20 // PLL Multiplier
#pragma config FPBDIV = DIV_1 // Peripheral Clock divisor
#pragma config FPLLODIV = DIV_2
#pragma config ICESEL = ICS_PGx3 // ICE/ICD Comm Channel Select
#pragma config FWDTEN = OFF // Watchdog Timer
#endif
//
void config_init(void)
{
#ifdef __XC32
SYSTEMConfigPerformance(FCY);
mJTAGPortEnable(DEBUG_JTAGPORT_OFF);
#endif
#ifdef __XC16
CLKDIV = 0;
/*
TRISBbits.TRISB13 = 0;
REFOCONbits.ROEN = 1; //enable pin out
REFOCONbits.ROSSLP = 0;
REFOCONbits.ROSEL=0;
REFOCONbits.RODIV = 0;
* */
#endif
}