witam wszystkich,
przeczytałem już dość dużo różnych tematów odnośnie przetwornika ADC jednak mam mały problem, mianowicie każdy pomiar wskazuje 1023 i nie wiem co z tym zrobić
poniżej kod programu, może ktoś znajdzie jakiś błąd
AVCC połączone z VCC
AREF przez kondensator 100nF do masy
EDIT
inicjalizacja adc była wywołana - podałem fragment kodu i przypadkiem pominąlem ;-p
przeczytałem już dość dużo różnych tematów odnośnie przetwornika ADC jednak mam mały problem, mianowicie każdy pomiar wskazuje 1023 i nie wiem co z tym zrobić
poniżej kod programu, może ktoś znajdzie jakiś błąd
#define F_CPU 1600000UL
void adc_init(void)
{
PORTF = 0x00;
DDRF = 0x00;
ADMUX = 0x40; // VREF=01 | DLAR=0 | MUX=00000
ADCSRA = 0x87; // ADEN=1 | ADSC=0 | ADFR=0 | ADIE=0 | ADPS=111
}
int main(void)
{
unsigned int pomiar_adc;
char text[10];
for (;;)
{
adc_init();
if (bit_is_clear(PINC,PC1))
{
ADCSRA |= _BV(ADSC);
while (bit_is_set(ADCSRA,ADSC));
pomiar_adc = ADCW;
itoa (pomiar_adc,text,10);
LCD_Clear();
LCD_WriteText(text);
}
} // koniec pętli for
return 0;
}
AVCC połączone z VCC
AREF przez kondensator 100nF do masy
EDIT
inicjalizacja adc była wywołana - podałem fragment kodu i przypadkiem pominąlem ;-p