From 94cf578cc32db53c1b1a7d59b2e4e9a85e37b375 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 19 Mar 2012 14:11:43 +0000 Subject: replace interrupt blocking with semaphore --- kernel/adc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'kernel/adc.c') diff --git a/kernel/adc.c b/kernel/adc.c index 4229c2b..85a97bc 100644 --- a/kernel/adc.c +++ b/kernel/adc.c @@ -38,13 +38,16 @@ adc(void *arg) ADMUX = (i & MUXMASK) | _BV(ADLAR); ADCSRA |= _BV(ADSC); loop_until_bit_is_clear(ADCSRA, ADSC); - cli(); + + wait(Adc); a->value[i] = ADCH; /* ADLAR: 8-bit */ - sei(); + signal(Adc); } + wait(Display); fprintf(stderr, "\n%8lx%8x", now(), a->value[0]); signal(Display); + sleep(0, 100000); } } -- cgit v1.2.3