Witam, mam pewien problem z wykonaniem działania mnożenie a następnie dzielenia przez liczbę dziesiętną odczytaną z eepromu.
Sam odczyt z eepromu jest poprawny, wyświetlałem dla testu odczytaną wartość na wyświetlaczu i się zgadza z tym co zapisałem przed ponownym uruchomieniem uC.
Jak w programie zdefiniuje stałą (np 0.123) i przez nią podzielę jest ok, działanie wykonuje się i mam poprawny wynik. Jednak jeśli odczytam tą samą wartość z eepromu to zawsze przy wykonaniu działania mam 0.
Kompilator CCS C w wersji 4.136 i PIC18F4550.
Poniżej fragmenty kody, cały jest dość obszerny i nie ma sensu tego wszystkiego wklejać.
Float'a zapisuje do pamięci:
Odczytuje:
po zmianie na
Brak zmian.
Zapewne powodem jest jakiś szczegół o którym jeszcze nie wiem, dopiero się uczę
Z góry dziękuje za pomoc, i mam nadzieje że przejrzyście napisałem mimo godziny... 2 w nocy.
Pozdrawiam Krzysiek
Sam odczyt z eepromu jest poprawny, wyświetlałem dla testu odczytaną wartość na wyświetlaczu i się zgadza z tym co zapisałem przed ponownym uruchomieniem uC.
Jak w programie zdefiniuje stałą (np 0.123) i przez nią podzielę jest ok, działanie wykonuje się i mam poprawny wynik. Jednak jeśli odczytam tą samą wartość z eepromu to zawsze przy wykonaniu działania mam 0.
Kompilator CCS C w wersji 4.136 i PIC18F4550.
Poniżej fragmenty kody, cały jest dość obszerny i nie ma sensu tego wszystkiego wklejać.
Float'a zapisuje do pamięci:
Kod: C / C++
Odczytuje:
Kod: C / C++
po zmianie na
Kod: C / C++
Brak zmian.
Zapewne powodem jest jakiś szczegół o którym jeszcze nie wiem, dopiero się uczę
Pozdrawiam Krzysiek