Witam.
Mam taki problem. Zbudowałem robota LF napisałem do niego całkiem sprawny kod w BASCOMIE. Teraz zacząłem uczyć się C (pisze w WinAVR) i chciałbym napisać program do niego. Mam jednak problem jak zrobić odczyt poszczególnych kanałów. W BAS robie to tak:
W C napisałem jak do tej pory ogólną konfiguracje wejść i przetwornika. Próbuję robić odczyt na razie na domyślnym kanale 0 (MUX0...3 nieustawione). Mam taki kod:
Jednak nie daje to żadnego efektu. Dioda nie zapala się w momencie kiedy linia jest pod czujnikiem. Nie wiem co jest nie tak, przeglądałem kilka tematów o ADC na elektrodzie, czytałem też datasheet i nie mogę dojść do błędu. Nie wiem też jak zrobić to żeby zmieniać kanały po kolej i wczytywać z nich wartości do zmiennych. Próbowałem też w definicjach ustawić konfiguracje poszczególnych bitów MUX jednak i przełączać je na raz jednak też nie dawało to efektu. Więc pytanie co nie tak z konfiguracją że nawet odczyt z jednego czujnika jest niemożliwy i w jaki sposób przełączać czujniki(według mnie dobrym wyjściem byłoby użyć funkcji której parametrem byłby numer kanału a funkcja zwracałaby wartość odczytu z czujnika, a funkcje umieścić w pętli for gdzie wartość zmiennej sterującej była by numerem kanału).
Mam taki problem. Zbudowałem robota LF napisałem do niego całkiem sprawny kod w BASCOMIE. Teraz zacząłem uczyć się C (pisze w WinAVR) i chciałbym napisać program do niego. Mam jednak problem jak zrobić odczyt poszczególnych kanałów. W BAS robie to tak:
Kod: text
W C napisałem jak do tej pory ogólną konfiguracje wejść i przetwornika. Próbuję robić odczyt na razie na domyślnym kanale 0 (MUX0...3 nieustawione). Mam taki kod:
Kod: C / C++
Jednak nie daje to żadnego efektu. Dioda nie zapala się w momencie kiedy linia jest pod czujnikiem. Nie wiem co jest nie tak, przeglądałem kilka tematów o ADC na elektrodzie, czytałem też datasheet i nie mogę dojść do błędu. Nie wiem też jak zrobić to żeby zmieniać kanały po kolej i wczytywać z nich wartości do zmiennych. Próbowałem też w definicjach ustawić konfiguracje poszczególnych bitów MUX jednak i przełączać je na raz jednak też nie dawało to efektu. Więc pytanie co nie tak z konfiguracją że nawet odczyt z jednego czujnika jest niemożliwy i w jaki sposób przełączać czujniki(według mnie dobrym wyjściem byłoby użyć funkcji której parametrem byłby numer kanału a funkcja zwracałaby wartość odczytu z czujnika, a funkcje umieścić w pętli for gdzie wartość zmiennej sterującej była by numerem kanału).
