X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/16ea5aa7a2e5f326f8ff129e740a19bb3fb7829f..3642ea0b9715cdf0196b10c9fc97898940eaefa6:/Projects/Webserver/Lib/uip/clock.c?ds=sidebyside diff --git a/Projects/Webserver/Lib/uip/clock.c b/Projects/Webserver/Lib/uip/clock.c index 299a747bc..e71f7209d 100644 --- a/Projects/Webserver/Lib/uip/clock.c +++ b/Projects/Webserver/Lib/uip/clock.c @@ -1,9 +1,8 @@ #include #include #include -#include -#include -#include + +#include #include "clock.h" @@ -11,28 +10,28 @@ 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; - ATOMIC_BLOCK(ATOMIC_FORCEON) - { - time = clock_datetime; - } + GlobalInterruptDisable(); + time = clock_datetime; + GlobalInterruptEnable(); return time; } +