Dzisiaj zacząłem przerabiać temat ADC. Po kolei, tak jak Mirek opisuje w książce, wpisywałem kody i sprawdzałem co się dzieje. W pewnych sytuacjach, na wyświetlaczu otrzymywałem wyniki, których się nie spodziewałem. W końcu udało mi się znaleść "słaby" punkt.
Pokaże o jaki fragment chodzi. Mirek tak napisał w ksiąźce:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zmienną "wynik" wyświetliłem na LCD. Zmienna ta przybiera wartości od 0 do 65535, czyli tylko wartości o długości dwóch bajtów! Przecież zmienna "wynik" jest o długości czterech bajtów. Po różncyh kombinacjach, doszedłem jak to "naprawić".
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I teraz zwracam się z pytaniem, DLACZEGO? Czy chodzi o to, że ukontroler pobiera zmienną dwubajtową na stos, operuje na niej i wynik wpisuje, w tym przypadku, do zmiennej czterobajtowej?