/* * Code generated from Atmel Start. * * This file will be overwritten when reconfiguring your Atmel Start project. * Please copy examples or other code you want to keep to a separate file * to avoid losing it when reconfiguring. */ #include "driver_examples.h" #include "driver_init.h" #include "utils.h" /** * Example of using ADC_0 to generate waveform. */ void ADC_0_example(void) { uint8_t buffer[2]; adc_sync_enable_channel(&ADC_0, 0); while (1) { adc_sync_read_channel(&ADC_0, 0, buffer, 2); } } static void button_on_PA15_pressed(void) { } /** * Example of using EXTERNAL_IRQ_0 */ void EXTERNAL_IRQ_0_example(void) { ext_irq_register(PIN_PA15, button_on_PA15_pressed); } void delay_example(void) { delay_ms(5000); } static struct timer_task TIMER_0_task1, TIMER_0_task2; /** * Example of using TIMER_0. */ static void TIMER_0_task1_cb(const struct timer_task *const timer_task) { } static void TIMER_0_task2_cb(const struct timer_task *const timer_task) { } void TIMER_0_example(void) { TIMER_0_task1.interval = 100; TIMER_0_task1.cb = TIMER_0_task1_cb; TIMER_0_task1.mode = TIMER_TASK_REPEAT; TIMER_0_task2.interval = 200; TIMER_0_task2.cb = TIMER_0_task2_cb; TIMER_0_task2.mode = TIMER_TASK_REPEAT; timer_add_task(&TIMER_0, &TIMER_0_task1); timer_add_task(&TIMER_0, &TIMER_0_task2); timer_start(&TIMER_0); } /** * Example of using WDT_0. */ void WDT_0_example(void) { uint32_t clk_rate; uint16_t timeout_period; clk_rate = 1000; timeout_period = 4096; wdt_set_timeout_period(&WDT_0, clk_rate, timeout_period); wdt_enable(&WDT_0); }