00001
00085 #include "board.h"
00086 #include "gpio.h"
00087 #include "scif_uc3l.h"
00088 #include "power_clocks_lib.h"
00089
00090
00093
00094 #if BOARD == UC3L_EK
00095 #define EXAMPLE_GCLK_ID AVR32_SCIF_GCLK_DFLL0_SSG
00096 #define EXAMPLE_GCLK_PIN AVR32_SCIF_GCLK_1_0_PIN // Connector PA6 on AT32UC3L-EK
00097 #define EXAMPLE_GCLK_FUNCTION AVR32_SCIF_GCLK_1_0_FUNCTION
00098 #endif
00099
00100 #if !defined(EXAMPLE_GCLK_ID) || \
00101 !defined(EXAMPLE_GCLK_PIN) || \
00102 !defined(EXAMPLE_GCLK_FUNCTION)
00103 # error The generic clock configuration to use in this example is missing.
00104 #endif
00105
00107
00112 static void local_start_gc()
00113 {
00114 scif_gclk_opt_t gclkOpt = {SCIF_GCCTRL_OSC32K, 0, 0};
00115 volatile int i;
00116
00117
00118 if(scif_start_gclk(EXAMPLE_GCLK_ID, &gclkOpt))
00119 {
00120 while(1)
00121 {
00122 gpio_tgl_gpio_pin(LED3_GPIO);
00123 for(i=1000; i; i--);
00124 }
00125 }
00126
00127
00128 gpio_enable_module_pin(EXAMPLE_GCLK_PIN, EXAMPLE_GCLK_FUNCTION);
00129
00130 }
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143 int main(void)
00144 {
00146 scif_osc32_opt_t osc32Conf = {
00147 SCIF_OSC_MODE_2PIN_CRYSTAL_HICUR,
00148 OSC32_STARTUP,
00149 true,
00150 false,
00151 true
00152 };
00153 volatile int i,j;
00154
00155
00156 if(PASS != scif_start_osc32(&osc32Conf, true))
00157 {
00158 while(1)
00159 {
00160 gpio_tgl_gpio_pin(LED3_GPIO);
00161 for(i=1000; i; i--);
00162 }
00163 }
00164
00165
00166
00167 local_start_gc();
00168
00169
00170 for(i=25;i;i--)
00171 {
00172 gpio_tgl_gpio_pin(LED0_GPIO); gpio_tgl_gpio_pin(LED1_GPIO);
00173 gpio_tgl_gpio_pin(LED2_GPIO); gpio_tgl_gpio_pin(LED3_GPIO);
00174 for(j=1000;j;j--);
00175 }
00176
00177
00178
00179
00180
00181
00182
00183 AVR32_INTC.ipr[0];
00184
00185 pm_sleep(AVR32_PM_SMODE_STATIC);
00186
00187
00188
00189 while(1);
00190 }
00191