X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/84e1241f8063dab6b82a580584fa11893a162b55..b35f93a372d8c872aebab4e3626bfc58d85b84d7:/Projects/Webserver/Lib/uip/clock.c?ds=inline diff --git a/Projects/Webserver/Lib/uip/clock.c b/Projects/Webserver/Lib/uip/clock.c index e8a676b1a..71eaf2b28 100644 --- a/Projects/Webserver/Lib/uip/clock.c +++ b/Projects/Webserver/Lib/uip/clock.c @@ -11,27 +11,29 @@ volatile clock_time_t clock_datetime = 0; //Overflow interrupt -ISR(TIMER1_COMPA_vect) -{ +ISR(TIMER1_COMPA_vect, ISR_BLOCK) +{ clock_datetime += 1; } //Initialise the clock -void clock_init() -{ - OCR1A = ((F_CPU / 1024) / 100); +void clock_init() +{ + OCR1A = (((F_CPU / 1024) / 100) - 1); TCCR1B = ((1 << WGM12) | (1 << CS12) | (1 << CS10)); TIMSK1 = (1 << OCIE1A); } //Return time -clock_time_t clock_time() -{ +clock_time_t clock_time() +{ clock_time_t time; - cli(); + ATOMIC_BLOCK(ATOMIC_FORCEON) + { time = clock_datetime; - sei(); + } return time; } +