Clock management drivers module


Defines

#define Enable_external_clock()   (CLKSEL0 |= (1<<EXTE))
#define Disable_external_clock()   (CLKSEL0 &= ~(1<<EXTE))
#define Enable_RC_clock()   (CLKSEL0 |= (1<<RCE))
#define Disable_RC_clock()   (CLKSEL0 &= ~(1<<RCE))
#define External_clock_ready()   (((CLKSTA&(1<<EXTON)) != 0) ? TRUE : FALSE)
#define RC_clock_ready()   (((CLKSTA&(1<<RCON)) != 0) ? TRUE : FALSE)
#define Select_external_clock()   (CLKSEL0 |= (1<<CLKS))
#define Select_RC_clock()   (CLKSEL0 &= ~(1<<CLKS))
#define Load_ext_clock_config(cfg)
#define Load_RC_clock_config(cfg)
#define OSC_INTRC_0MS   0x02
#define OSC_INTRC_4MS   0x12
#define OSC_INTRC_65MS   0x22
#define OSC_XTAL_RANGE1_258CK_4MS   0x08
#define OSC_XTAL_RANGE1_258CK_65MS   0x18
#define OSC_XTAL_RANGE1_1KCK_0MS   0x28
#define OSC_XTAL_RANGE1_1KCK_4MS   0x38
#define OSC_XTAL_RANGE1_1KCK_65MS   0x09
#define OSC_XTAL_RANGE1_16KCK_0MS   0x19
#define OSC_XTAL_RANGE1_16KCK_4MS   0x29
#define OSC_XTAL_RANGE1_16KCK_65MS   0x39
#define OSC_XTAL_RANGE2_258CK_4MS   0x0A
#define OSC_XTAL_RANGE2_258CK_65MS   0x1A
#define OSC_XTAL_RANGE2_1KCK_0MS   0x2A
#define OSC_XTAL_RANGE2_1KCK_4MS   0x3A
#define OSC_XTAL_RANGE2_1KCK_65MS   0x0B
#define OSC_XTAL_RANGE2_16KCK_0MS   0x1B
#define OSC_XTAL_RANGE2_16KCK_4MS   0x2B
#define OSC_XTAL_RANGE2_16KCK_65MS   0x3B
#define OSC_XTAL_RANGE3_258CK_4MS   0x0C
#define OSC_XTAL_RANGE3_258CK_65MS   0x1C
#define OSC_XTAL_RANGE3_1KCK_0MS   0x2C
#define OSC_XTAL_RANGE3_1KCK_4MS   0x3C
#define OSC_XTAL_RANGE3_1KCK_65MS   0x0D
#define OSC_XTAL_RANGE3_16KCK_0MS   0x1D
#define OSC_XTAL_RANGE3_16KCK_4MS   0x2D
#define OSC_XTAL_RANGE3_16KCK_65MS   0x3D
#define OSC_XTAL_RANGE4_258CK_4MS   0x0E
#define OSC_XTAL_RANGE4_258CK_65MS   0x1E
#define OSC_XTAL_RANGE4_1KCK_0MS   0x2E
#define OSC_XTAL_RANGE4_1KCK_4MS   0x3E
#define OSC_XTAL_RANGE4_1KCK_65MS   0x0F
#define OSC_XTAL_RANGE4_16KCK_0MS   0x1F
#define OSC_XTAL_RANGE4_16KCK_4MS   0x2F
#define OSC_XTAL_RANGE4_16KCK_65MS   0x3F
#define OSC_EXTCLK_0MS   0x00
#define OSC_EXTCLK_4MS   0x10
#define OSC_EXTCLK_65MS   0x20

Functions

void Clock_switch_external (void)
 Clock_switch_external.
void Clock_switch_internal (void)
 Clock_switch_internal.

Define Documentation

 
#define Enable_external_clock (  )     (CLKSEL0 |= (1<<EXTE))

Definition at line 184 of file power_drv.h.

Referenced by Clock_switch_external().

 
#define Disable_external_clock (  )     (CLKSEL0 &= ~(1<<EXTE))

Definition at line 185 of file power_drv.h.

Referenced by Clock_switch_internal().

 
#define Enable_RC_clock (  )     (CLKSEL0 |= (1<<RCE))

Definition at line 186 of file power_drv.h.

Referenced by Clock_switch_internal().

 
#define Disable_RC_clock (  )     (CLKSEL0 &= ~(1<<RCE))

Definition at line 187 of file power_drv.h.

Referenced by Clock_switch_external().

 
#define External_clock_ready (  )     (((CLKSTA&(1<<EXTON)) != 0) ? TRUE : FALSE)

Definition at line 190 of file power_drv.h.

Referenced by Clock_switch_external().

 
#define RC_clock_ready (  )     (((CLKSTA&(1<<RCON)) != 0) ? TRUE : FALSE)

Definition at line 191 of file power_drv.h.

Referenced by Clock_switch_internal().

 
#define Select_external_clock (  )     (CLKSEL0 |= (1<<CLKS))

Definition at line 194 of file power_drv.h.

Referenced by Clock_switch_external().

 
#define Select_RC_clock (  )     (CLKSEL0 &= ~(1<<CLKS))

Definition at line 195 of file power_drv.h.

Referenced by Clock_switch_internal().

#define Load_ext_clock_config ( cfg   ) 

Value:

(CLKSEL1 = (CLKSEL1&0xF0) | ((cfg&0x0F)<<EXCKSEL0), \
                                         CLKSEL0 = (CLKSEL0&0xCF) | (((cfg&0x30)>>4)<<EXSUT0))

Definition at line 199 of file power_drv.h.

#define Load_RC_clock_config ( cfg   ) 

Value:

(CLKSEL1 = (CLKSEL1&0x0F) | ((cfg&0x0F)<<RCCKSEL0), \
                                         CLKSEL0 = (CLKSEL0&0x3F) | (((cfg&0x30)>>4)<<RCSUT0))

Definition at line 202 of file power_drv.h.

#define OSC_INTRC_0MS   0x02

Definition at line 209 of file power_drv.h.

#define OSC_INTRC_4MS   0x12

Definition at line 210 of file power_drv.h.

#define OSC_INTRC_65MS   0x22

Definition at line 211 of file power_drv.h.

#define OSC_XTAL_RANGE1_258CK_4MS   0x08

Definition at line 214 of file power_drv.h.

#define OSC_XTAL_RANGE1_258CK_65MS   0x18

Definition at line 215 of file power_drv.h.

#define OSC_XTAL_RANGE1_1KCK_0MS   0x28

Definition at line 216 of file power_drv.h.

#define OSC_XTAL_RANGE1_1KCK_4MS   0x38

Definition at line 217 of file power_drv.h.

#define OSC_XTAL_RANGE1_1KCK_65MS   0x09

Definition at line 218 of file power_drv.h.

#define OSC_XTAL_RANGE1_16KCK_0MS   0x19

Definition at line 219 of file power_drv.h.

#define OSC_XTAL_RANGE1_16KCK_4MS   0x29

Definition at line 220 of file power_drv.h.

#define OSC_XTAL_RANGE1_16KCK_65MS   0x39

Definition at line 221 of file power_drv.h.

#define OSC_XTAL_RANGE2_258CK_4MS   0x0A

Definition at line 224 of file power_drv.h.

#define OSC_XTAL_RANGE2_258CK_65MS   0x1A

Definition at line 225 of file power_drv.h.

#define OSC_XTAL_RANGE2_1KCK_0MS   0x2A

Definition at line 226 of file power_drv.h.

#define OSC_XTAL_RANGE2_1KCK_4MS   0x3A

Definition at line 227 of file power_drv.h.

#define OSC_XTAL_RANGE2_1KCK_65MS   0x0B

Definition at line 228 of file power_drv.h.

#define OSC_XTAL_RANGE2_16KCK_0MS   0x1B

Definition at line 229 of file power_drv.h.

#define OSC_XTAL_RANGE2_16KCK_4MS   0x2B

Definition at line 230 of file power_drv.h.

#define OSC_XTAL_RANGE2_16KCK_65MS   0x3B

Definition at line 231 of file power_drv.h.

#define OSC_XTAL_RANGE3_258CK_4MS   0x0C

Definition at line 234 of file power_drv.h.

#define OSC_XTAL_RANGE3_258CK_65MS   0x1C

Definition at line 235 of file power_drv.h.

#define OSC_XTAL_RANGE3_1KCK_0MS   0x2C

Definition at line 236 of file power_drv.h.

#define OSC_XTAL_RANGE3_1KCK_4MS   0x3C

Definition at line 237 of file power_drv.h.

#define OSC_XTAL_RANGE3_1KCK_65MS   0x0D

Definition at line 238 of file power_drv.h.

#define OSC_XTAL_RANGE3_16KCK_0MS   0x1D

Definition at line 239 of file power_drv.h.

#define OSC_XTAL_RANGE3_16KCK_4MS   0x2D

Definition at line 240 of file power_drv.h.

#define OSC_XTAL_RANGE3_16KCK_65MS   0x3D

Definition at line 241 of file power_drv.h.

#define OSC_XTAL_RANGE4_258CK_4MS   0x0E

Definition at line 244 of file power_drv.h.

#define OSC_XTAL_RANGE4_258CK_65MS   0x1E

Definition at line 245 of file power_drv.h.

#define OSC_XTAL_RANGE4_1KCK_0MS   0x2E

Definition at line 246 of file power_drv.h.

#define OSC_XTAL_RANGE4_1KCK_4MS   0x3E

Definition at line 247 of file power_drv.h.

#define OSC_XTAL_RANGE4_1KCK_65MS   0x0F

Definition at line 248 of file power_drv.h.

#define OSC_XTAL_RANGE4_16KCK_0MS   0x1F

Definition at line 249 of file power_drv.h.

#define OSC_XTAL_RANGE4_16KCK_4MS   0x2F

Definition at line 250 of file power_drv.h.

#define OSC_XTAL_RANGE4_16KCK_65MS   0x3F

Definition at line 251 of file power_drv.h.

#define OSC_EXTCLK_0MS   0x00

Definition at line 254 of file power_drv.h.

#define OSC_EXTCLK_4MS   0x10

Definition at line 255 of file power_drv.h.

#define OSC_EXTCLK_65MS   0x20

Definition at line 256 of file power_drv.h.


Function Documentation

void Clock_switch_external ( void   ) 

Clock_switch_external.

This function makes the AVR selects the EXTERNAL clock source (CRYSTAL)

Parameters:
none 
Returns:
none.

Definition at line 150 of file power_drv.c.

References Disable_RC_clock, Enable_external_clock, External_clock_ready, and Select_external_clock.

00151 {
00152   Enable_external_clock();
00153   while (!External_clock_ready());
00154   Select_external_clock();
00155   Disable_RC_clock();
00156 }

void Clock_switch_internal ( void   ) 

Clock_switch_internal.

This function makes the AVR selects the INTERNAL clock source (RC)

Parameters:
none 
Returns:
none.

Definition at line 167 of file power_drv.c.

References Disable_external_clock, Enable_RC_clock, RC_clock_ready, and Select_RC_clock.

00168 {
00169   Enable_RC_clock();
00170   while (!RC_clock_ready());
00171   Select_RC_clock();
00172   Disable_external_clock();
00173 }


Generated on Mon May 5 15:58:22 2008 for ATMEL by  doxygen 1.5.1-p1