altos/lpc: Get 100Hz timer running
[fw/altos] / src / lpcxpresso / ao_demo.c
1 /*
2  * Copyright © 2011 Keith Packard <keithp@keithp.com>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 2 of the License.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11  * General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License along
14  * with this program; if not, write to the Free Software Foundation, Inc.,
15  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
16  */
17
18 #include "ao.h"
19
20 struct ao_task demo_task;
21
22 static void demo(void) {
23         for (;;) {
24                 ao_delay(100);
25                 ao_led_toggle(AO_LED_RED);
26         }
27 }
28
29 int
30 main(void)
31 {
32         int     i;
33         ao_led_init(LEDS_AVAILABLE);
34         ao_led_on(AO_LED_RED);
35         ao_clock_init();
36         ao_timer_init();
37         
38         ao_task_init();
39
40         ao_add_task(&demo_task, demo, "demo");
41
42         ao_start_scheduler();
43
44         for (;;) {
45                 ao_led_off(AO_LED_RED);
46                 for (;;)
47                         if (ao_tick_count & 1)
48                                 break;
49                 ao_led_on(AO_LED_RED);
50                 for (;;)
51                         if (!(ao_tick_count & 1))
52                                 break;
53         }
54 }