Jarecki napisał(a):
na str. 230 i 231 (nowe wydanie w twardej oprawie) są omówione funkcje:
czy kolega zagląda do kodów na dołączonym nośniku do książki ? DVD albo Pendrive ? wydaje mi się, że nie za bardzo ... w najnowszej wersji książki musiałem bowiem przeportować kod ze staruszka WinAVR na nowy Atmel Toolchain - jest sporo zmian - szczególnie związanych z dostępem do danych pamięci FLASH - i opisałem to nawet na blogu - na którego kolega też chyba nie zagląda
http://mirekk36.blogspot.com/2012/08/ec ... zytaj.htmldlatego bardzo uprzejmie proszę:
1. zajrzyj do tego artykułu na blogu
2. ale przede wszystkim zajrzyj do kodu na nośniku dołączonym do KSIĄŻKI bo tam MUSI to działać bez warningów - tymczasem ten zapis
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
tzn wywołanie tej funkcji z podaniem wskaźnika do pamięci Flash gdzie jest tekst do wyświetlenia od razu dałoby ci warninga - zrób że próbę, sprawdź to sobie na żywym organiźmie czyli na procku i LCD - przecież to NAJLEPSZA szkoła
a później jak zajrzysz do kodu na nośniku dołączonym do książki to zobaczysz, że nagłówek tej funkcji wygląda tak
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
czyli masz widoczną różnicę ...
zaś co się tyczy pytania:
Jarecki napisał(a):
Nazwy funkcji pgm_read_byte oraz eeprom_read_bytre sugerują że i tu i tu odczytujemy byte
a zaglądałeś do ŚRODKA tych funkcji ? znowu wydaje mi się, że nie - jeśli zaś tak to powiedz mi czego nie rozumiesz ze środka takiej funkcji zamiast myśleć co sugeruje pgm_read_byte .... w środku masz tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
zmienna znak jest typu char, zapisywana jest do niej zmienna typu uint8_t - w czym widzisz problem? Jedna i druga jest jednobajtowa, jedna i druga mówi i liczbie bez znaku - więc w takim przypadku kompilator nie będzie ci krzyczał warningiem ponieważ może to załatwić niejawnym rzutowaniem i już.
Oczywiście jeśli ty zrobisz również to rzutowanie to kompilator wcale się nie obrazi
Podsumowując - w książce WYJAŚNIAM jak działa ogólnie mechanizm - zaś w kodach pokazuję już jak to wygląda w szczegółach i tak żeby działało bez warningów
_________________
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 ]