]> git.gir.st - tmk_keyboard.git/blob - protocol/lufa/LUFA-git/Projects/Webserver/Lib/uip/clock.c
Squashed 'tmk_core/' changes from caca2c0..dc0e46e
[tmk_keyboard.git] / protocol / lufa / LUFA-git / Projects / Webserver / Lib / uip / clock.c
1 #include <stdint.h>
2 #include <stdlib.h>
3 #include <stdio.h>
4
5 #include <LUFA/Common/Common.h>
6
7 #include "clock.h"
8
9 //Counted time
10 volatile clock_time_t clock_datetime = 0;
11
12 //Overflow interrupt
13 ISR(TIMER1_COMPA_vect, ISR_BLOCK)
14 {
15 clock_datetime += 1;
16 }
17
18 //Initialise the clock
19 void clock_init()
20 {
21 OCR1A = (((F_CPU / 1024) / 100) - 1);
22 TCCR1B = ((1 << WGM12) | (1 << CS12) | (1 << CS10));
23 TIMSK1 = (1 << OCIE1A);
24 }
25
26 //Return time
27 clock_time_t clock_time()
28 {
29 clock_time_t time;
30
31 GlobalInterruptDisable();
32 time = clock_datetime;
33 GlobalInterruptEnable();
34
35 return time;
36 }
37
Imprint / Impressum