Witam właśnie jestem po obejrzeniu poradników ADC.
Napisałem program który (na początek ma za zadanie) pomierzyć jak najszybciej dwa kanały w których zmienia się napięcie stałe.
Mam nadzieje że mam dobra koncepcję:
W skrócie moje podejście do problemu:1. Ustaw ADC (tryb pojedynczej konwersji, przerwanie od ADC, ustawienie wejść, prescalera, nap. rev itd)
2. Start ADC (kanał 1)
3. koniec konwersji -> przerwanie, zapisz wynik do zmiennej1 / sumuj następne wyniki, zlicz licznik próbkowania [50 pomiarów]
4. przełącz na kanał 2 -- > Start ADC (kanał2)
5. koniec konwersji -> przerwanie, zapisz wynik do zmiennej2 / sumuj następne wyniki, zlicz licznik próbkowania [50 pomiarów]
6. leć na początek Start ADC (kanał1) i tak 50 razy na przemian.
7. Gdy 50 pomiarów zrealizowane przejdź do funkcji obliczającej --> licz wartość średnią dla: kanał1, kanał2 (suma pomiarów ADC ze zmiennej * Vref) / (1024 *50 -- ilość pomiarów)
8. Wyświetl (na początek) wartość dziesiętne po uarcie.
----------------------------------------------------------------------------------------------
W czym mam problem sam nie wiem, napisałem sobie kod programu ale jak to początkujący pewnie zrobiłem jakiś głupi błąd i nie wiem gdzie.
Program po wgraniu (atmega 16) wyświetla:
Atmega16_nowa
Wartosc ADC1 = 0
Wartosc ADC2 = 0
... i nic się nie dzieje jak kręcę potkiem :/

Musze dodać, że poprzedni program, który pisałem (wg. poradników 3-4 ADC) działa mi prawidłowo.
(czyli płyta prototypowa, procek, zasilanie, konfiguracja przejściówki USB/rs232 idt jest ok)
Pozdrawiam i z góry dziękuje za naprowadzenie na dobra drogę.
Pozdrawiam
aothunterpl
poniżej przedstawiam opracowany kod kod:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Kod wklejamy przy pomocy syntax=c - Różowy J.Ok dzięki źle mi się wstawiło ;]