Xmega Application Note


sleep.h

Go to the documentation of this file.
00001 
00038 #ifndef SLEEP_H
00039 #define SLEEP_H
00040 
00041 #include <compiler.h>
00042 
00057 #if defined(__ICCAVR__) || defined(__DOXYGEN__)
00058 # include <intrinsics.h>
00060 # define sleep_enter() __sleep()
00061 
00065 static inline void sleep_enable(void)
00066 {
00067         SLEEP.CTRL |= SLEEP_SEN_bm;
00068 }
00069 
00073 static inline void sleep_disable(void)
00074 {
00075         SLEEP.CTRL &= ~SLEEP_SEN_bm;
00076 }
00077 
00078 #elif defined(__GNUC__)
00079 # include <avr/sleep.h>
00080 # define sleep_enter() sleep_cpu()
00081 
00082 #else
00083 # error Unsupported compiler.
00084 #endif
00085 
00091 static inline void sleep_set_mode(enum SLEEP_SMODE_enum mode)
00092 {
00093         SLEEP.CTRL = mode | (SLEEP.CTRL & ~SLEEP_SMODE_gm);
00094 }
00095 
00097 
00098 #endif /* SLEEP_H */
@DOC_TITLE@
Generated on Fri Oct 22 12:15:25 2010 for AVR1300 Using the Xmega ADC by doxygen 1.6.3