A teraz tak po co te (przepraszam za określenie) niedorzeczne dwie funkcje
pomiar() i
pomiar1() jak można to zrobić w ramach jednej funkcji ?
poza tym już dawno pamiętam że tłumaczyliśmy koledze że popełnia poważny błąd (kiedyś tam w innym poście)
Kod:
ADMUX |= (ADMUX & 0xF8) | kanal;
i mówiliśmy jak to rozwiązać - a kolega zdaje się już wtedy (o ile pamiętam zaczął pisać oddzielne funkcje) zamiast poprawić ten błąd. Proszę poczytać:
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/54_223b5bea194b4559302bf220058666fd.jpg)
(warto tu zaglądać)
przecież tam jest WYRAŹNIE napisane o tym błędzie - wystarczy poprawić powyższą linię na:
Kod:
ADMUX = (ADMUX & 0xF8) | kanal;
i wystarczy jedna funkcja .... (bo teraz nawet mając te dwie funkcje i tak ten BŁĄD opisany w linku nadal u ciebie występuje)
pomijam oczywiście ten dodatek że
Kod:
return 127;
a nie działa to dlatego że jak przetwornik działa to wcale nie zawsze jest tam 0 gdy z przetwornika nic nie "leci" jak kolega pisze .... tam jest szum - więc te wartości zmieniają się w okolicy zera (błąd 1-2 bitów przetwornika)
------------------------ [ Dodano po: 2 minutach ]Zrób sobie jedną funkcję:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i to ci wystarczy zamiast tych dwóch - bo pomyśl sobie - jakbyś chciał na 8 kanałach mierzyć to byś 8 takich funkcji napisał ? a na dodatek gdybyś w każdej zostawił ten sam błąd - to dopiero byłaby kaszana
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
.... po prostu ta jedna operacja OR jest niepotrzebna bo nawet jak masz te dwie funkcje to i tak wciąż pozostają bity kanałów pomieszane.
------------------------ [ Dodano po: 3 minutach ]a nie przepraszam ty sobie w tych funkcjach wymyśliłeś:
Kod:
ADMUX&=~(1<<MUX0);
ADMUX&=~(1<<MUX1);
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
ale to nie tędy droga bo nie dość że nadal dwie funkcje niepotrzebne to te dwie linie kodu załatwia jedna:
Kod:
ADMUX = (ADMUX & 0xF8) | kanal;
dobra koniec - bo się rozpisałem
![Puszcza oko ;)](https://forum.atnel.pl/images/smilies/icon_e_wink.gif)
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]