PIC32MX Oscillator - Reference Clock
Reference Clock
The Reference clock can be used to drive the SPI peripheral or to generate a clock on the Reference Clock Output pin (REFCLKO).
The reference clock can be derived from any of the following clock sources: System PLL, Primary Osc, Fast RC, Low Power RC, USB PLL output (96 MHz), Secondary Osc, System Clock, Peripheral Bus, Reference Clock input.
Each reference clock has a high-precision divider based on this formula:
- refOscDiv can be any integer from 1 to 32768
- When refOscDiv = 0, the output clock = the input clock.
- trimValue can be any integer from 1 to 512
// ref clock base = FRC
PLIB_OSC_ReferenceOscBaseClockSelect (OSC_ID_0, OSC_REFERENCE_1, OSC_REF_BASECLOCK_FRC);
// disable ref clock
PLIB_OSC_ReferenceOscDisable(OSC_ID_0, OSC_REFERENCE_1);
// enable ref clock
PLIB_OSC_ReferenceOscEnable(OSC_ID_0, OSC_REFERENCE_1);
// refOscDiv = 32768
PLIB_OSC_ReferenceOscDivisorValueSet (OSC_ID_0, OSC_REFERENCE_1, 32768);
// trimValue = 256
PLIB_OSC_ReferenceOscTrimSet(OSC_ID_0, OSC_REFERENCE_1, 256);
// ref clock is driven out REFCLKO pin
PLIB_OSC_ReferenceOutputEnable(OSC_ID_0, OSC_REFERENCE_1);

