External Clock and Oscillator Modes
The Primary Oscillator (POSC) uses the OSC1 and OSC2 pins. POSC can be configured for an external clock input (EC mode), or an external crystal or resonator (HS mode).
#pragma config POSCMOD = EC //default = external clock #pragma config POSCMOD = HS //default = high-speed crystal
External Clock Mode with Output Clock
When POSC is in the External Clock mode, the OSC1 pin is a high-impedance input that can be driven by a CMOS driver.
The External Clock mode also disables the internal feedback buffer allowing the OSC2/CLKO pin to be used for other functions (general purpose I/O or as a clock out). The output clock provided on the CLKO pin is the peripheral bus clock number 1 (PBCLK1) divided by 2.
#pragma config OSCIOFNC = ON // clock out enabled #pragma config OSCIOFNC = OFF // clock out disabled
USB Input Clock Requirements
If using the USB peripheral, POSC must be 12MHz or 24MHz. You must also configure the USB PLL for a 12MHz or 24MHz input frequency.
#pragma config UPLLEN = ON // Enable USB PLL #pragma config UPLLFSEL = FREQ_12MHZ // USB PLL input clock = 12MHz #pragma config UPLLFSEL = FREQ_24MHZ // USB PLL input clock = 24MHz