summaryrefslogtreecommitdiff
path: root/src/lpcxpresso
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-04-18 16:15:52 -0500
committerKeith Packard <keithp@keithp.com>2013-05-17 03:50:07 -0700
commitf9d0eb3f3154f98abb0c8952d7171f3e7d3de9b2 (patch)
treeb75b55aca8bf566f17afee9f332dd5859787c983 /src/lpcxpresso
parent04b243e6ef212f54ed284cfbde6d5abb637bf60e (diff)
altos/lpc: Get 100Hz timer running
Use systick, which is built into the ARM core Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lpcxpresso')
-rw-r--r--src/lpcxpresso/ao_demo.c26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/lpcxpresso/ao_demo.c b/src/lpcxpresso/ao_demo.c
index bb8402f7..56fef706 100644
--- a/src/lpcxpresso/ao_demo.c
+++ b/src/lpcxpresso/ao_demo.c
@@ -17,6 +17,15 @@
#include "ao.h"
+struct ao_task demo_task;
+
+static void demo(void) {
+ for (;;) {
+ ao_delay(100);
+ ao_led_toggle(AO_LED_RED);
+ }
+}
+
int
main(void)
{
@@ -24,13 +33,22 @@ main(void)
ao_led_init(LEDS_AVAILABLE);
ao_led_on(AO_LED_RED);
ao_clock_init();
+ ao_timer_init();
+
+ ao_task_init();
+
+ ao_add_task(&demo_task, demo, "demo");
+
+ ao_start_scheduler();
for (;;) {
ao_led_off(AO_LED_RED);
- for (i = 0; i < 100000; i++)
- ao_arch_nop();
+ for (;;)
+ if (ao_tick_count & 1)
+ break;
ao_led_on(AO_LED_RED);
- for (i = 0; i < 100000; i++)
- ao_arch_nop();
+ for (;;)
+ if (!(ao_tick_count & 1))
+ break;
}
}