Język C dla mikrokontrolerów AVR - Tomasz Francuz

Transkrypt

Język C dla mikrokontrolerów AVR - Tomasz Francuz
Język C dla mikrokontrolerów AVR - Tomasz Francuz - Recenzja
Wpisany przez Nelik
poniedziałek, 19 grudnia 2011 20:29
Język C dla mikrokontrolerów AVR jest specyficzny i rządzi się swoimi prawami. Jest odmienny
w porównaniu do programów pisanych na komputery osobiste. Świat popularnych w Polsce
mikrokontrolerów AVR w połączeniu z dobrze napisanym programem w języku C daje
nieograniczone możliwości tworzenia ciekawych projektów. Wszystkie zasady tworzenia
poprawnych projektów i pisania programów dla mikrokontrolerów AVR w języku C zostały
opisane w książce "Język C dla mikrokontrolerów AVR", której autorem jest Tomasz Francuz.
Tytuł: Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji
Autor: Tomasz Francuz
Wydawnictwo: Helion.pl
Rok i miejsce wydania: 2011, Gliwice
ISBN: 978-83-246-3064-6
Ilość stron: 568
1/6
Język C dla mikrokontrolerów AVR - Tomasz Francuz - Recenzja
Wpisany przez Nelik
poniedziałek, 19 grudnia 2011 20:29
Oprawa: Miękka
Druk: Czarno-biały
Książka wydawnictwa www.helion.pl podzielona jest, aż na 29 rozdziałów. Biorąc pod uwagę
ogrom informacji jakie autor chciał przekazać czytelnikowi nie jest to nic dziwnego, a pozwala
łatwo znaleźć w niej wszystkie niezbędne informacje. Książka na swoich 658 stronach porusza
wszystkie najważniejsze aspekty programowania mikrokontrolerów AVR firmy Atmel w języku
wysokiego poziomu jakim jest język C.
Pierwszy z rozdziałów omawia kwestię często pomijaną w innych kursach czy książkach tego
typu, a mianowicie środowisko programistyczne oraz właściwe jego przystosowanie do
własnych potrzeb. Na każdym kroku można powiedzieć, że książka jest uniwersalna, ponieważ
opisany został program WinAVR oraz AVR Studio dla Windows'a i Linux'a. Daje to czytelnikowi
możliwość wyboru i nie ogranicza go do pojedynczych rozwiązań. Dość dokładnie opisane są
programy narzędziowe jak „linkier” czy program „make”. Wiedza ta nie jest potrzebna dla
początkującego programisty, ale przydaje się już dla osób średnio zaawansowanych by
zrozumieć jakie operacje są wykonywane przed i podczas kompilowania programów.
Wszystkie najważniejsze informacje dotyczące programatorów i programowania
mikrokontrolerów AVR znalazł się w rozdziale 2. W tym przypadku autor również podszedł do
sprawy profesjonalnie i opisał właściwie wszystkie interfejsy programowania począwszy od ISP
przez JTAG, aż po TPI i programatory wysokonapięciowe. W każdym z przypadków opisany
został sposób programowania i budowa elektroniczna programatora. Liczne rysunki i schematy
uzupełniają ten rozdział. Szczegółowo zostały opisane również Fusebity i Lockbity spędzające
sen z powiek początkującym programistom.
Następny z kolei rozdział 3 zajmuje w książce najwięcej miejsca i nie ma się czemu dziwić,
ponieważ można powiedzieć, że streszczono w nim podstawy programowania w język C.
Niestety rozdział ten nie tłumaczy od podstaw sposobów programowania i kierowany jest do
2/6
Język C dla mikrokontrolerów AVR - Tomasz Francuz - Recenzja
Wpisany przez Nelik
poniedziałek, 19 grudnia 2011 20:29
osób, które miały już styczność z językiem C, na przykład w komputerach PC. Zaprezentowano
tutaj głównie różnice między językiem C dla mikrokontrolerów i dla komputerów PC. Dla osób,
które nie miały styczności wcześniej z językiem C polecana jest lektura innych pozycji
dotyczących stricte języka C dostępne na stronie www.helion.pl .
W rozdziale 4 wytłumaczono sposoby dzielenia pisanego programu na sekcje takie jak .text,
.data czy .eeprom. Rozdział ten może wydawać się trudny i niepotrzebny dla początkującego
użytkownika, ale nie ulega wątpliwości, że warto było wspomnieć o sekcjach programu.
Często poruszany na wszelakich forach problem kontroli rdzenia został wyjaśniony w rozdziale
5. Zaprezentowano w nim różne sposoby na ograniczenie poboru energii elektrycznej przez
mikrokontroler oraz na zabezpieczenie go przed zawieszeniem się podczas pracy i podczas
chwilowego obniżenia napięcia zasilania.
Dynamiczna alokacja pamięci jest tematem rozdziału 6. Informacje w niej zawarte są ciekawe i
potrzebne, ale z punktu widzenia bardziej zaawansowanych programistów, pisząc pierwsze
proste programy nie ma potrzeby jej wykorzystywania.
Rozdziały 7 i 8 opisujące pamięci EEPROM oraz FLASH wbudowane w mikrokontrolery AVR.
Zaprezentowano sposoby dostęp do tych pamięci zapisu i odczytu danych.
Rozdział 9 w całości poświęcony został interfejsowi XMEM, który umożliwia podłączenie
dotykowej pamięci SRAM do mikrokontrolera. Z racji tego, że interfejs XMEM znaleźć można
tylko w bardziej rozbudowanych mikrokontrolerach AVR, wiedza o nim nie jest niezbędna dla
początkującego programisty.
Interesujący dla początkujących sposób odczytu wartości 16-biotwych przedstawiono w
rozdziale 10. Mikrokontrolery AVR opisywane w książce są 8-bitowe, odczyt i zapis wartości
16-biotwych należy przeprowadzić w kilku etapach. Jest to częsty błąd początkujących
użytkowników.
Sposoby wprowadzania opóźnień programowych poprzez pętle i funkcje „delay” prezentuje
3/6
Język C dla mikrokontrolerów AVR - Tomasz Francuz - Recenzja
Wpisany przez Nelik
poniedziałek, 19 grudnia 2011 20:29
krótki rozdział 11. Warto było umieścić te informacje w odzielnym rozdziale, ponieważ są one
wykorzystywane najwet w najprostrzych programach.
Można powiedzieć, że od rozdziału 12 książka opisuje operacje na peryferiach
mikrokontrolerów AVR. Począwszy od rozdziału 12, aż do 17 opisano często spotykane w
innych publikacjach sposoby kontrolowania portów I/O, przerwań, przetworników A/C,
komparatora analogowego i liczników. Każdy z rozdziałów zawiera kompletne informacje o
sposobie uruchomienia i wykorzystania każdego z wymienionych peryferii. Dodatkowo warto
zwrócić uwagę na przykłady praktyczne pokazujące jak wykonać i oprogramować klawiatury
matrycowe, enkodery, termometry analogowe, mierniki częstotliwości czy wyświetlanie
multipleksowane.
Rozdział 18 bardzo zainteresuje wielu użytkowników, ponieważ opisuje sposoby podłączenia i
sterowania wyświetlaczem LCD alfanumerycznych i graficznych. Dzięki przedstawieniu różnych
sposobów przesyłania danych do wyświeltaczy (4-bitowe i 8-bitowe) po raz kolejny można
powiedzieć, że książka jest uniwersalna i opisuje wiele możliwych rozwiązań wskazując na ich
zalety i wady.
Interfejsy komunikacyjne stanowią można by powiedzieć odrębny rozdział w dziedzinie
mikrokontrolerów, ponieważ często są ustandaryzowane dla wielu urządzeń to ich obsługa jest
zupełnie inna w każdym przypadku. Bardzo dobrze, że w książce poświęcono, aż 98
podzielonych na 6 rozdziałów dla opisania interfejsów takich jak: USART, SPI, TWI (I2C), USI,
USB i 1-wire. Warto wspomnieć o opisie interfejsu USB, który jest bardzo szczegółowy i
pokazuje możliwości podłączenia układu mikroprocesorowego do komputera PC przez
konwertery FTDI lub bezpośrednio przy wykorzystaniu programowego interfejsu. Można
powiedzieć, że rozdział ten będzie zapewne chętnie przeglądany ze względu na popularność
komunikacji USB.
To czego brakuje w wielu opisach i książkach to coraz częściej wykorzystywane, szczególnie w
zestawach ewaluacyjnych bootloadery opisane w rozdziale 25. Stanowią one wygodną
alternatywę dla programowania poprzez interfejs ISP czy JTAG. Dzięki bootloaderom można
programować mikrokontroler i uaktualniać oprogramowania za pomocą wgranego wcześniej
prostego programu nazywanego właśnie bootloaderem. Daje to przede wszystkim dużą wygodę
użytkowania co w obecnych czasach jest wyznacznikiem dobrze zaprojektowanego urządzenia.
Kolejne 3 rozdziały po raz kolejny mogą nie być przydatne początkującym użytkownikom
4/6
Język C dla mikrokontrolerów AVR - Tomasz Francuz - Recenzja
Wpisany przez Nelik
poniedziałek, 19 grudnia 2011 20:29
chcącym napisać prosty program i uzyskać prawie natychmiastowe efekty. Rozdziały 26, 27 i
28 opisują odpowiednio kontrolę integralności programu, bezpieczeństwo kodu oraz łączenie
języka C i asemblera w jednym programie. Dla bardziej wprawionych programistów przyda się
zapewne rozdział o tym jak używać „wstawek” asemblerowych w język C dla uzyskania
lepszych efektów działania programu.
Ostatni rozdział książki o numerze 29 opisuje sposoby optymalizacji i debugowania napisanego
programu. Informacje w nim zawarte mogą być pomocne w przypadku gdy skompilowany
program jest niewiele większy od dostępnej pamięci mikrokontrolera lub gdy musimy mieć
większą kontrolę nad tym co dzieje się podczas kompilacji, ponieważ C jest językiem wysokiego
poziomu.
Podsumowując recenzowaną książkę, należy z pewnością stwierdzić, że wyczerpuje ona wiele
kwestii dotyczących programowania mikrokontrolerów AVR w język C. Niestety książka w
całości nie jest przewidziana dla zupełnego laika w tej dziedzinie. Część rozdziałów przyda się
osobom, które dopiero co zaczęły zabawę w świecie języka C i mikrokontrolerów AVR, ale
niektóre przeznaczone są dla bardziej zaawansowanych programistów znających już podstawy
programowania w języku C, czego zabrakło w książce. W tym przypadku jednak brak
absolutnych podstaw, w którymś z rozdziałów książki nie jest jej wadą, ponieważ na rynku
dostępnych jest wiele tytułów opisujących od podstaw język C.
Dzięki zachowaniu inżynierskiego porządku w książce oraz poprzez podzielenie jej na wiele
rozdziałów można ją traktować jak poradnik podczas pisania własnego kodu. Wystarczy
znaleźć interesujący nas rozdział i od razu korzystać z gotowych rozwiązań programowych i
sprzętowych lub zrozumieć zasadę działania i tworzyć własne biblioteki i rozwiązania.
Ocena według www.mikrokontrolery.org 5/5
Link do książki na stronie www.helion.pl
5/6
Język C dla mikrokontrolerów AVR - Tomasz Francuz - Recenzja
Wpisany przez Nelik
poniedziałek, 19 grudnia 2011 20:29
Książke można również kupić o 21% taniej w formie e-book na www.helion.pl
Zanim kupisz przeczytaj fragment książki i spis treści
{jcomments on}
6/6

Podobne dokumenty