File: timer_8bit.c

package info (click to toggle)
simulavr 1.0.0%2Bgit20160221.e53413b-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,740 kB
  • sloc: cpp: 35,491; python: 6,995; ansic: 3,567; makefile: 1,075; sh: 653; asm: 414; tcl: 320; javascript: 32
file content (37 lines) | stat: -rw-r--r-- 616 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* timer test programm for timer0: 8bit with normal mode */
#include <avr/interrupt.h>

volatile int timer_ticks;

ISR(TIMER0_OVF_vect) {
   timer_ticks++;
}

int main(void) {
  volatile int tmp;

  TCNT0 = 0;    /* Timer 0 by CLK/8 */
#if defined PROC_atmega48
  TCCR0B = 0x02; /* 512us on 4MHz, normal mode */
  TIMSK0 = _BV(TOIE0);
#elif defined PROC_attiny2313 || defined PROC_attiny25
  TCCR0B = 0x02;
  TIMSK = _BV(TOIE0);
#else
  TCCR0 = 0x02;
  TIMSK = _BV(TOIE0);
#endif

  sei();

  tmp = timer_ticks;
  while(1) {
    if(tmp != timer_ticks) {
      tmp = timer_ticks;
    } 
  }

  return 0;
}

/* EOF */