OpenCores
URL https://opencores.org/ocsvn/igor/igor/trunk

Subversion Repositories igor

[/] [igor/] [trunk/] [avr/] [eth-test/] [uip/] [clock-arch.c] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 atypic
#include <stdint.h>
2
#include <stdlib.h>
3
#include <stdio.h>
4
#include <avr/interrupt.h>
5
#include <avr/io.h>
6
#include <avr/sfr_defs.h>
7
 
8
#include "clock-arch.h"
9
 
10
//Counted time
11
clock_time_t clock_datetime = 0;
12
 
13
//Overflow itnerrupt
14
ISR(TIMER0_OVF_vect)
15
{
16
        clock_datetime += 1;
17
        TIFR0 |= (1<<TOV0);
18
}
19
 
20
//Initialise the clock
21
void clock_init(){
22
        //Activate overflow interrupt for timer0
23
        TIMSK0 |= (1<<TOIE0);
24
 
25
        //Use prescaler 1024
26
        TCCR0B |= ((1<<CS12)|(1<<CS10));
27
 
28
        //Activate interrupts
29
        sei();
30
}
31
 
32
//Return time
33
clock_time_t clock_time(){
34
        clock_time_t time;
35
 
36
        cli();
37
        time = clock_datetime;
38
        sei();
39
 
40
        return time;
41
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.