00001 /* This file has been prepared for Doxygen automatic documentation generation.*/ 00059 #ifndef CLKSYS_DRIVER_H 00060 #define CLKSYS_DRIVER_H 00061 00062 #include "avr_compiler.h" 00063 00064 00065 /* Definitions of macros. */ 00066 00078 #define CLKSYS_Enable( _oscSel ) ( OSC.CTRL |= (_oscSel) ) 00079 00091 #define CLKSYS_IsReady( _oscSel ) ( OSC.STATUS & (_oscSel) ) 00092 00098 #define CLKSYS_RTC_ClockSource_Disable() ( CLK.RTCCTRL &= ~CLK_RTCEN_bm ) 00099 00105 #define CLKSYS_AutoCalibration_Disable( _clk ) ( (_clk).CTRL &= ~DFLL_ENABLE_bm ) 00106 00107 00108 /* Prototyping of function. Detailed information is found in source file. */ 00109 void CCPWrite( volatile uint8_t * address, uint8_t value ); 00110 void CLKSYS_XOSC_Config( OSC_FRQRANGE_t freqRange, 00111 bool lowPower32kHz, 00112 OSC_XOSCSEL_t xoscModeSelection ); 00113 void CLKSYS_PLL_Config( OSC_PLLSRC_t clockSource, uint8_t factor ); 00114 uint8_t CLKSYS_Disable( uint8_t oscSel ); 00115 void CLKSYS_Prescalers_Config( CLK_PSADIV_t PSAfactor, 00116 CLK_PSBCDIV_t PSBCfactor ); 00117 uint8_t CLKSYS_Main_ClockSource_Select( CLK_SCLKSEL_t clockSource ); 00118 void CLKSYS_RTC_ClockSource_Enable( CLK_RTCSRC_t clockSource ); 00119 void CLKSYS_AutoCalibration_Enable( uint8_t clkSource, bool extReference ); 00120 void CLKSYS_XOSC_FailureDetection_Enable( void ); 00121 void CLKSYS_Configuration_Lock( void ); 00122 00123 00124 #endif