Mam następujący problem z odczytaniem wartości z dwóch kanałów ADC.
Najpierw kod:
Z jednego kanału (w pętli while tylko odczyt1 albo tylko odczyt2) działa pięknie - napięcie 2.5V na odpowiednio PA1 lub PA2 i na LCD widze 512 itd.
Z dwóch kanałów (tak jak jest w podanym kodzie) obie zmienne na LCD wyswietlają się najpierw coś ponad 600 i bardzo szybko spadają do około 80 (ich wartści są identyczne). Zmiana napięcia którymś z potencjometrów zmienia obie wartości (ale według jakiej prawidłowości to nie mogę zgadnąć)
Ponieważ odczytywanie tylko z kanału 1 albo tylko z kanału 2 działa poprawnie, wnioskuję, że wszystko podłączone jest poprawnie, a przetwornik dobrze zainicjowany. Z samym odczytem powinno być wszystko w porządku. Problem zapewne jest w wyborze kanału, ale nijak nie mogę dojść jaki. Poszukałem w necie jakichś przykładów, no i znalazłem jeden w którym ADC_read jest napisane identycznie. A u mnie dalej nie dziala poprawnie
Z góry dziękuję za pomoc.
Najpierw kod:
Kod: C / C++
Z jednego kanału (w pętli while tylko odczyt1 albo tylko odczyt2) działa pięknie - napięcie 2.5V na odpowiednio PA1 lub PA2 i na LCD widze 512 itd.
Z dwóch kanałów (tak jak jest w podanym kodzie) obie zmienne na LCD wyswietlają się najpierw coś ponad 600 i bardzo szybko spadają do około 80 (ich wartści są identyczne). Zmiana napięcia którymś z potencjometrów zmienia obie wartości (ale według jakiej prawidłowości to nie mogę zgadnąć)
Ponieważ odczytywanie tylko z kanału 1 albo tylko z kanału 2 działa poprawnie, wnioskuję, że wszystko podłączone jest poprawnie, a przetwornik dobrze zainicjowany. Z samym odczytem powinno być wszystko w porządku. Problem zapewne jest w wyborze kanału, ale nijak nie mogę dojść jaki. Poszukałem w necie jakichś przykładów, no i znalazłem jeden w którym ADC_read jest napisane identycznie. A u mnie dalej nie dziala poprawnie
Z góry dziękuję za pomoc.