Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję

Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji

Książki 05.05.2012 Damian (Treker)

jcmikr_recMiałeś problemy z programowaniem? Nie wiedziałeś z czego się uczyć? Na szczęście na rynku pojawia się coraz więcej książek związanych z mikrokontrolerami.

W tej recenzji przyjrzałem się kolejnej pozycji wydawnictwa Helion. Zapoznaj się z nią, jeśli stoisz przed wyborem kursu programowania.

O recenzji

Tym razem zapoznałem się z pozycją Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji”. Według autora, po lekturze tej książki:

  • poznamy budowę oraz podstawy programowania mikrokontrolerów,
  • dowiemy się, jak do swoich celów wykorzystać język C,
  • nauczymy się rozwiązywać rzeczywiste problemy,
  • będziemy potrafili tworzyć praktyczne rozwiązania.

W podsumowaniu tej recenzji postaram się napisać, czy faktycznie tak jest. Niedawno przesiadłem się z Bascoma na C. Pamiętając moje problemy, mogłem spojrzeć na tę książkę okiem osoby początkującej.

Środowiska i programatory

Początek książki to dokładny opis środowiska w jakim będziemy pracować – AVR Studio. Został wzbogacony licznymi zrzutami ekranu. Szczegółowe opisy prowadzą nas przez proces instalacji. Następnie omówione zostały programy narzędziowe:

  • linker
  • avr-size
  • avr-nim
  • avr-objcopy

Warto zwrócić uwagę, że w opisach nie pominięto również użytkowników systemów operacyjnych z rodziny Linux. Dla mnie zabrakło tu jednak wzmianki na temat innych bardzo popularnych edytorów – przykładowo Eclipse.

Kolejny rozdział omawia proces programowania mikroprocesora programatorami ISP oraz JTAG. W obu przypadkach opisane są zalety każdego rozwiązania. Znajdziemy również krótkie informacje na temat wgrywania programów do wielu procesorów jednocześnie. Co więcej, pojawiły się również informacje na temat programatorów HW, równoległych oraz trybu TPI.

Autor podjął się także zasugerowania użytkownikom, jakich programów warto używać do przesyłania wsadów do procesorów. Oprócz standardowych narzędzi zaszytych w AVR Studio pojawiają się również opisy AVRDUDE oraz PonyProg. Na marginesie dodam, że ten pierwszy upodobała sobie większość użytkowników naszego forum. Na koniec omówione zostały lock bity, fuse bity oraz zagadnienie sygnatury mikroprocesora.

Okładka książki [przód, tył]

Okładka książki [przód, tył]

Język C

Znajdziemy tutaj też opisane podstaw języka C. Należy zaznaczyć, że z książki tej nie można nauczyć się samego C (co raczej nie było zamiarem autora – takie odniosłem wrażenie). Opisane zostały wszystkie najważniejsze części języka, szczególnie te, których niezbyt często używa się podczas programowania mikrokontrolerów.

Wszystko odebrałem jako powtórkę dla osoby programującej wcześniej. Omówiono typy danych, arytmetykę stało- oraz zmiennopozycyjną, operacje bitowe, zasięg widoczności funkcji i zmiennych, słowa kluczowe oraz dyrektywy preprocesora.

Nie zabrakło również informacji na temat plików źródłowych i nagłówkowych. Omówiono jeszcze sekcje programu:

  • .text,
  • .data,
  • .bss,
  • eeprom,
  • z kodem programu,
  • sekcje specjalne tworzone przez programistę.

Było to coś, z czym nie spotkałem się do tej pory w innych książkach.

Mikrokontrolery AVR

Kolejne rozdziały dotyczą programowania procesorów AVR. W książce tej pojawia się wiele procesorów z różnych rodzin – od Tinny, przez Mega aż do Xmega. Autor na ich przykładzie przedstawia specyficzne problemy i możliwości, dotyczące konkretnych podrodzin mikroprocesorów Atmela.

Dalsze części to wyjaśnienia, dotyczące zarządzania energią, różnymi typami pamięci mikroprocesorów oraz dostępem do nich. Pojawiły się tutaj również informacje na temat rzadziej opisywanego w książkach interfejsu XMEM. Wszystkie opisy wzbogacone są odwołaniami do konkretnych rejestrów i przykładami kodów.

Następne rozdziały standardowo poświęcone zostały poszczególnym peryferiom procesorów. Prócz teorii, przedstawiano też praktyczne rzeczy, takie jak obsługa enkoderów czy tworzenie wielopoziomowego menu. Każdemu interfejsowi komunikacji poświęcono osobny rozdział. Znajdziemy tutaj opisy:

  • SPI,
  • TWI,
  • USI,
  • USART,
  • 1-wire,
  • USB.

W książce można również znaleźć informacje na temat łączenia kilku procesorów tak, aby mogły się ze sobą komunikować.

Bezpieczeństwo i wydajność

Ostatnie rozdziały poświęcone zostały bootladerom oraz zabezpieczaniu własnych programów (CRC, AES Bootloader). Pojawiają się wzmianki na temat łączenia kodu C wraz z tym pisanym w asemblerze. Koniec książki traktuje o optymalizacji tworzonych programów oraz debugowaniu ich za pomocą interfejsu JTAG – tematy często pomijane w innych pozycjach.

Po więcej informacji odsyłam do opisu na stronie wydawnictwa oraz dostępnego fragmentu.

Dla kogo?

Warto wspomnieć, że książka nie opiera się na żadnym konkretnym zestawie uruchomieniowym.

Autor na samym początku wymienił elementy, na których będzie można przeprowadzić wszystkie lekcje. Czytając tę pozycję zwróciłem uwagę na kilka rzeczy, jakie nie utkwiły mi w pamięci po lekturze innych książek (atomowość dostępu, atrybuty weak oraz wiele innych).

Patrząc okiem początkującego w C, spodobało mi się, że nie pominięto prostych spraw, które na początku mogą sprawiać problemy. Może to błahy przykład, ale pozytywnie zaskoczył mnie mały rozdział traktujący wyłącznie o dostępie do danych 16-bitowych (łączenie i dzielenie rejestrów). Niby proste i oczywiste, ale miałem z tym problemy przy pierwszych projektach pisanych w C. Książka moim zdaniem jest idealnym uzupełnieniem wiedzy dla osób zaczynających swoją przygodę z mikrokontrolerami.

Zainteresowanych zakupem odsyłam do odpowiednich stron. Książka dostępna jest w wersji papierowej oraz tańszej elektronicznej.

Spodobała Ci się recenzowana książka?

Kup wersję papierowąKup wersję elektroniczną

Więcej naszych recenzji można znaleźć na stronie z polecanymi książkami.

Powiadomienia o nowych, darmowych artykułach!

Załączniki

Fragment ksiażki (pdf, 681 KB) - Pobierz

Fragment książki "Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji", wydawnictwo Helion/

Komentarze

klonyyy

20:08, 05.05.2012

#1

Bardzo podoba mi się pomysł z recenzjami. Właśnie chce powoli przesiąść się na C, i dzięki recenzji chyba na początku przeczytam kurs na forbocie żeby mieć jakieś pojęcie o C, a potem kupię książkę.

No i dowiedziałem się, że jest z papieru ekologicznego :-P

Ps będą kolejne recenzje ?

Treker
Autor wpisu
Administrator

20:14, 05.05.2012

#2

klonyyy napisał/a:

No i dowiedziałem się, że jest z papieru ekologicznego

Ciężko to oceniać w jakieś skali, ale powiem, że widziałem gorszy papier w książkach. Nie jest on po prostu biały.

klonyyy napisał/a:

Ps będą kolejne recenzje ?

Wszystko zależy od Was :) Z Helionu mam jeszcze jedną książkę do opisania. Zajmie mi to zapewne z 2-3 tygodnie. Później będę planował co dalej. Myślę, że współpraca na tej płaszczyźnie z wydawnictwem BTC byłaby bardzo ciekawa :)

Grzesieq94

20:26, 05.05.2012

#3

Może jakiś konkursik z książkami recenzowanych wydawnictw? ;]

Treker
Autor wpisu
Administrator

20:31, 05.05.2012

#4

Grzesieq94, co miesiąc można było od bardzo dawna wygrywać dowolne książki wydawnictwa BTC. Teraz jest mała przerwa, ale niedługo wracamy :)

Natanoj

21:34, 05.05.2012

#5

Zastanawia mnie porównanie recenzowanej książki z "Mikrokontrolery AVR Język C Podstawy programowania" wydawnictwa Atnel. Czytałeś obie książki więc może będziesz mógł coś napisać? Która nadaje się do zupełnie początkujących, a która lepsza dla tych bardziej zaawansowanych? Ta z Helionu jest trochę grubsza, za to druga ma dodatkową płytę. Cena bardzo nieznacznie się różni. Zależy mi na dobrze opisanym języku, do samych mikrokontrolerów mam inną książkę.

Treker
Autor wpisu
Administrator

21:37, 05.05.2012

#6

Jeśli chcesz nauczyć się C to wybierz pozycję z Atnel'a, ona skierowana jest do początkujących.

Recenzowaną pozycję poleciłbym jako kolejną lekturę po powyższej książce - nauczysz się wtedy jeszcze kilku nowych rzeczy.

Jeśli jednak ktoś zna C, a może miał nawet styczność już uC to może również zacząć od książki Helionu.

StiV1995

12:05, 06.05.2012

#7

Ja właśnie czytam książkę z Atnela i mogę polecić. w pierwszej części jest opisany sam C a później zadnia praktyczne i nie jest potrzebny zestaw uruchomieniowy ATB bo są schematy.

Jedynie to mogę się przyczepić do niektórych zdjęć bo trzeba się przyjżeć co tam piszę szczególnie komentarze przy kodzie i jest kilka schematów jakoś krzywo wydrukowanych ale idzie się doczytać

Treker
Autor wpisu
Administrator

12:09, 06.05.2012

#8
miszczo

13:03, 06.05.2012

#9

Cytat:

Następne części książki już standardowo poświęcone zostały poszczególnym peryferią procesorów.

Oj wstyd ;-)

Posiadam tę książkę i drugą wydawnictwa atnel. Moje osobiste odczucia są podobne i zaczynam właśnie od tej drugiej, bo ta jest zbyt skomplikowana jak dla początkującego. Jednakże po ogarnięciu jednej wezmę się za drugą, bo z pewnością będzie doskonałym uzupełnieniem wiedzy.

__________

Komentarz dodany przez: Treker

Błąd poprawiony, dzięki :)

fabryka_robotow

21:45, 06.07.2012

#11

Link do wersji elektronicznej w pierwszym pościa zamieniłbym na ten prowadzący do ebookpoint. Tam łatwiej trafić na promocję. W ten weekend książka jest do wzięcia za 35 zł

Sabre

18:15, 28.07.2012

#12

Uwaga! Do niedzieli do północy na książkę „Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji” jest rabat 20%.

Treker
Autor wpisu
Administrator

8:34, 31.07.2012

#13

Jedna promocja za nami, a tymczasem już pojawiła się druga. Do 12 sierpnia na książkę „Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji” jest rabat 20%. Wszystko dzięki akcji "Czytanie przynosi owoce!".

przemub

3:54, 02.08.2012

#14

Treker napisał/a:

Teraz przyjrzałem się pozycji, która powinna przydać się osobą będącym na nieco wyższym poziomie wtajemniczenia.

Może się czepiam, ale żeby w nagłówku... :P

Książkę mam zamiar kupić, ponieważ dawno chciałem się przestawić na C (wsparcie dla Linuksa) i takie kompendium pewno pomoże.

Treker
Autor wpisu
Administrator

8:58, 02.08.2012

#15

przemub napisał/a:

Może się czepiam, ale żeby w nagłówku...

Dzięki, poprawione. Jak widać przez tyle czasu nikt nie zwrócił na to uwagi

Tded

18:00, 18.08.2012

#16

Mam zamiar kupić te książkę. Z racji, że posiadam laptopa bez portów COM, pragnę się dowiedzieć jak wygląda sprawa z USBasp w tej książce, czy ten programator będzie w niej przydatny, czy będę musiał zbierać kasę tez na jakiegoś starego PC?

Zobacz wszystkie komentarze (24) na forum

FORBOT Damian Szymański © 2006 - 2018 Zakaz kopiowania treści oraz grafik bez zgody autora. vPRsLH.