Проблема с примитивной функцией

а дядя посоветовал ему
в его коде

#define	 F_CPU			1200000UL

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

volatile uint16_t analogData;

ISR (ADC_vect) {
	analogData = ADCL + (ADCH<<8);
}

int main(void) {

	DDRB  &= ~(1<<PORTB4);								// PB4 на вход
	
	// Настраиваем работу с ADC (АЦП)
	ADMUX  |= (1<<REFS0) | (1<<ADLAR) | (1<<MUX1);  				// опорное напряжение - Internal, левое ориентирование данных, выбран вход ADC2 (на него подается измеряемое напряжение)
	ADCSRA |= (1<<ADEN)  | (1<<ADSC)  | (1<<ADATE) | (1<<ADIE) | (1<<ADPS2);	// АЦП включен, запуск преобразования, режим автоизмерения, прерывание по окончанию преобразования, частота CLK/4
	ADCSRB  = 0x00;									// режим автоизмерения: постоянно запущено

	DIDR0 |= (1<<ADC2D);	// запрещаем цифровой вход на ноге аналогового входа
	
	sei(); //разрешаем глобально прерывания
	
	while (1) {
	}
}