qmk_firmware/Projects/Incomplete/Webserver/Lib/uip/conf/clock-arch.c
Dean Camera 77dda302ac Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers
Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders

Changed incomplete Webserver project over to using the uIP timer library.
2010-01-15 02:42:54 +00:00

40 lines
606 B
C

#include "global-conf.h"
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <avr/interrupt.h>
#include <avr/io.h>
#include <avr/sfr_defs.h>
#include "clock-arch.h"
//Counted time
volatile clock_time_t clock_datetime = 0;
//Overflow interrupt
ISR(TIMER1_COMPA_vect)
{
clock_datetime += 1;
}
//Initialise the clock
void clock_init()
{
OCR1A = ((F_CPU / 1024) / 100);
TCCR1A = (1 << WGM12);
TCCR1B = ((1 << CS12) | (1 << CS10));
TIMSK1 = (1 << OCIE1A);
}
//Return time
clock_time_t clock_time()
{
clock_time_t time;
cli();
time = clock_datetime;
sei();
return time;
}