Witam, maly to ma zwiazek z elektronika ale jednak. Proboje 'bawic' sie przetwornikiem ADC w w/w procku. Podlaczam do PC0 napiecie regulowane potencjometrem i chce wyswietlic aktualna zawartosc rejestru ADCL na wyswietlaczu. Oto fragment programu w C: ... initlcd(); //inicjuje sobie LCD piszilcd(0x0c); //instrukcja do LCD (bez kursora i migania) czysclcd(); ADCSRA=1<<ADEN|1<<ADSC|1<<ADFR; //ADFR=1 czyli free runing ADMUX=1<<REFS0; //jako referencyjne AVCC z C podpietym do AREF while(1) { lcdxy(0,0); //kursor w lewym gornym rogu piszdlcd(ADCL); //dana do LCD (zawartosc rej. ADCL) } }
No i wszystko jest prawie OK. Resetuje kontroler i wyswietla mi sie w lewym gornym rogu (0,0) na wyswietlaczu znak ASCII o kodzie takim jak zawartosc ADCL w momencie resetu. Ale zmiana napiecia jest widoczna na wyswietlaczu tylko gdy go zresetuje. Gdy tego nie robie to zmiana potencjometru nic nie daje i na LCD wisi jakas literka z pierwszego pomiaru. Czyli tak jakby to free running ktore mowi o ciaglym probkowaniu nie dziala. Czy ja cos zle rozumiem? Jestem b. poczatkujacy. Z gory dziekuje za kazda pomoc. Mesayah