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 38 39
|
#include <avr/interrupt.h>
#include <stdio.h>
#include "debugio.h"
volatile int timer2_ticks;
/* Every ~ms */
ISR(TIMER2_COMP_vect)
{ /* Every ~1ms */
timer2_ticks++;
}
int main(
int argc,
char **argv
)
{
volatile int tmp;
debugio_init();
/* Set up our timers and enable interrupts */
TCNT2 = 0; /* Timer 2 by CLK/64 */
OCR2 = 115; /* ~1ms */
TCCR2 = 0x0b;
TIMSK = _BV(OCIE2);
sei();
tmp = timer2_ticks;
while(tmp <= 500) {
if ( tmp != timer2_ticks ) {
printk( "%d ", timer2_ticks );
tmp = timer2_ticks;
}
}
return 0;
}
|