X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao_test.c;h=0fdfcfa1583fd1bfb21a600b7754f5398dd7470c;hp=9a8adc3d6532daf6f0fc16aa43c60538ade24964;hb=5be13b76a2e29b84cd6d1eec065e3354b0dafce5;hpb=f3f25a1cec7d2a034aa544569cfd23bea1a996c5 diff --git a/ao_test.c b/ao_test.c index 9a8adc3d..0fdfcfa1 100644 --- a/ao_test.c +++ b/ao_test.c @@ -21,6 +21,7 @@ struct ao_task __xdata blink_0_task; struct ao_task __xdata blink_1_task; struct ao_task __xdata wakeup_task; struct ao_task __xdata beep_task; +struct ao_task __xdata echo_task; void delay(int n) __reentrant { @@ -49,7 +50,7 @@ blink_0(void) void blink_1(void) { - static struct ao_adc adc; + static __xdata struct ao_adc adc; for (;;) { ao_sleep(&ao_adc_ring); @@ -73,7 +74,7 @@ wakeup(void) void beep(void) { - static struct ao_adc adc; + static __xdata struct ao_adc adc; for (;;) { ao_delay(AO_SEC_TO_TICKS(1)); @@ -83,6 +84,19 @@ beep(void) } } +void +echo(void) +{ + uint8_t c; + for (;;) { + ao_usb_flush(); + c = ao_usb_getchar(); + ao_usb_putchar(c); + if (c == '\r') + ao_usb_putchar('\n'); + } +} + void main(void) { @@ -90,9 +104,16 @@ main(void) while (!(SLEEP & SLEEP_XOSC_STB)) ; - ao_add_task(&blink_0_task, blink_0); - ao_add_task(&blink_1_task, blink_1); - ao_add_task(&wakeup_task, wakeup); - ao_add_task(&beep_task, beep); +// ao_add_task(&blink_0_task, blink_0); +// ao_add_task(&blink_1_task, blink_1); +// ao_add_task(&wakeup_task, wakeup); +// ao_add_task(&beep_task, beep); + ao_add_task(&echo_task, echo); + ao_timer_init(); + ao_adc_init(); + ao_beep_init(); + ao_led_init(); + ao_usb_init(); + ao_start_scheduler(); }