//
// Capture Time with Comparator
// By PEK '2006
//
// Compiler: GCC
// MCU: ATMega48
//

#define F_CPU 1000000	// CPU frequency, used by delay function

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

// Timer Capture ISR
ISR(TIMER1_CAPT_vect)
{
	uint16_t temp;

	temp = ICR1;
	PORTB = (uint8_t)(temp >> 10);	// Only interested in the 6 MSB

	_delay_ms(100);	// Wait 100 ms
}

int main(void)
{	
	// Initiate Ports
	PORTB = 0x00;
	DDRB = 0xFF;	// PortB as output

	// Initiate Comparator
	DIDR1 = _BV(AIN0D) | _BV(AIN1D);	// Disable digital input buffers
	ACSR = _BV(ACIC) | _BV(ACIS1) | _BV(ACIS0);	// Input capture on rising edge

	// Initiate Timer
	TCCR1B = _BV(CS12) | _BV(CS10);	// Prescaler set to 1024
	TIMSK1 = _BV(ICIE1);	// Enable capture interrupt

	sei();

	while(1)
	{
		
	}
	
	return 1;
}




