Jeżyk-1 napisał(a):
Zmienna temp była tu zdefiniowana jako double.
No to pewnie się zdziwisz a może i nie zdziwisz ale w języku C dla AVR używanie typu double charakterystyczne jest dla osób, które nie znają prawie w ogóle specyfiki języka C dla AVR. Zobacz podaję ci kolejny dowód na jakość tego kursu. Ale żeby nie było że tylko coś tam mówię to wyjaśniam.
otóż w AVR GCC jest tylko jeden uproszczony typ przeznaczony dla liczb zmiennoprzecinkowych
float
na komputerach PC można w standardowym języku C korzystać naturalnie z typu o zwiększonej precyzji czyli
double
ale w tak małych prockach jest to po prostu bez sensu - zatem pozostawiono wprawdzie typ double, ale tylko po to aby była zgodność ze standardem, gdy np skorzystasz z jakiegoś kodu z PC i żeby nie trzeba było dużo zmieniać.
Tyle że domyślnie typ double w AVR GCC zostaje niejawnie zastąpiony type float !
a zatem pisząc kod od nowa i używając typu double - widać od razu że coś ktoś jest na bakier, i nie tylko z tym, że akurat nie wiedział o tym co tu napisałem. Ale przede wszystkim dlatego że do TAK PROSTYCH rzeczy jak obsługa temperatury z DS18B20 w ogóle używa typów zmiennoprzecinkowych zamiast liczb całkowitych o czym pisałem wyżej.....
ale żebyś dobrze zrozumiał - używając liczb całkowitych nadal mamy możliwość pełnego przedstawienia na LCD czy gdziekolwiek temperatury w postaci liczby zmiennoprzecinkowej tyle że oszczędzając FLASH i czas wykonywanych operacji.
Wiem, pisałeś już że nosisz się z zamiarem zakupu książki z atnela, ale może wstrzymaj się z zaśmiecaniem sobie głowy informacjami z tego kursu.
_________________
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 ]