Tytuł: Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. Autor: Tomasz Francuz. Wydawnictwo: Helion.pl



Podobne dokumenty
Systemy mikroprocesorowe - projekt

2.1 INFORMACJE OGÓLNE O SERII NX

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

PERSON Kraków

linkprog programator USB

Komentarz Sesja letnia 2012 zawód: technik eksploatacji portów i terminali 342[03] 1. Treść zadania egzaminacyjnego wraz z załączoną dokumentacją

Bojszowy, dnia r. Znak sprawy: GZOZ/P1/2010 WYJAŚNIENIE TREŚCI SIWZ

yoyo ver. 6.0

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

Bazy danych. Andrzej Łachwa, UJ, /15

Jak zaprogramować procesor i. wgrać firmwar-e do yampp3usb. Copyright SOFT COM sp. z o. o.

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

Programator pamięci EEPROM

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Uprawnienia do dysponentów/jednostek organizacyjnych Uprawnienia do operacji. System EUROBUDŻET Aplikacja Księga Główna Aplikacja Środki trwałe

Program Google AdSense w Smaker.pl

ZL11ARM. Uniwersalna płyta bazowa

Wtedy wystarczy wybrać właściwego Taga z listy.

Informacje o omawianym programie. Założenia programu omawianego w przykładzie

zgubił całą naszą korespondencję Można by tak wymieniać bez bezpieczeństwa, gdyby była wykonana dnia poprzedniego rozwiązałaby niejeden problem.

Zbigniew Krzysiak. Projektowanie 2D w programie AutoCAD

OmniTouch 8400 Instant Communications Suite 4980 Softphone

Jak korzystać z Group Tracks w programie Cubase na przykładzie EWQLSO Platinum (Pro)

Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko

System Komunikacji Niewerbalnej tłumacz języka migowego online. Robert Gdela Prezes Seventica Sp. z o.o.

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

Nowości w module: BI, w wersji 9.0

Administrator Konta - osoba wskazana Usługodawcy przez Usługobiorcę, uprawniona w imieniu Usługobiorcy do korzystania z Panelu Monitorującego.

DE-WZP JJ.3 Warszawa,

STEROWNIKI NANO-PLC NA PRZYKŁADZIE STEROWNIKA LOGO!

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

Generalnie przeznaczony jest do obsługi systemów klimatyzacyjnych i chłodniczych.

Siemens IO-Link. Smart TIA integration of sensors and actuators

Poniżej instrukcja użytkowania platformy

Harmonogramowanie projektów Zarządzanie czasem

Budowa systemów komputerowych

VLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux.

Zakupy poniżej euro Zamówienia w procedurze krajowej i unijnej

KONCEPCJA NAUCZANIA PRZEDMIOTU RACHUNKOWOŚĆ SKOMPUTERYZOWANA" NA WYDZIALE ZARZĄDZANIA UNIWERSYTETU GDAŃSKIEGO

Umowa najmu lokalu użytkowego

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

*** Przeczytaj najpierw, ponieważ to WAŻNE: ***

INSTRUKCJA WebPTB 1.0

Systemy wbudowane Mikrokontrolery

PODRĘCZNIK UŻYTKOWNIKA

Różnice pomiędzy programowaniem dla różnych platform. Rafał Pieszczek IT Specialist, Symetria

Platforma do obsługi zdalnej edukacji

MikloBit ul. Cyprysowa 7/ Jaworzno. rev MB-JTAG-ICE debugger-programator

W tym elemencie większość zdających nie zapisywała za pomocą równania reakcji procesu zobojętniania tlenku sodu mianowanym roztworem kwasu solnego.

TESTER LX 9024 (SYSTEM ALARMOWY IMPULSOWY) INSTRUKCJA OBSŁUGI

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Waldemar Pietrzak s5207. Projekt Wypożyczalnia Samochodów

Elementy cyfrowe i układy logiczne

DZIENNICZEK PRAKTYKI ZAWODOWEJ

Elektryczne ogrzewanie podłogowe fakty i mity

Stowarzyszenie Lokalna Grupa Działania EUROGALICJA Regulamin Rady

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Sieci komputerowe cel

INSTRUKCJA OBSŁUGI URZĄDZENIA: HC8201

Praca na wielu bazach danych część 2. (Wersja 8.1)

Konferencja Sądu Arbitrażowego przy SIDiR WARUNKI KONTRAKTOWE FIDIC KLAUZULA 13 JAKO ODMIENNY SPOSÓB WYKONANIA ROBÓT A NIE ZMIANA UMOWY

Regulamin organizacji przetwarzania i ochrony danych osobowych w Powiatowym Centrum Kształcenia Zawodowego im. Komisji Edukacji Narodowej w Jaworze

Komentarz do prac egzaminacyjnych w zawodzie technik administracji 343[01] ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Udoskonalona wentylacja komory suszenia

Pingwin kontra Okna, czyli Wolne Oprogramowanie kontra...?

POLITYKA GWARANCJI GRUPY TELE-FONIKA KABLE. 1. Definicje

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Numer obszaru: 13. Jak pracować z uczniem uzdolnionym informatycznie? Od grafiki i multimediów do poważnych algorytmów w środowisku Logomocja-Imagine

Komputer i urządzenia z nim współpracujące

System kontroli wersji SVN

Komentarz technik dróg i mostów kolejowych 311[06]-01 Czerwiec 2009

Jak spersonalizować wygląd bloga?

System nagłośnieniowy i dźwiękowy system ostrzegawczy Bosch Praesideo

Linc Polska Sp. z o.o. ul. Hallera Poznań. tel fax info@linc.pl

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Pytania do treści Specyfikacji wraz z odpowiedziami oraz zmiana treści SIWZ.

Zapytanie ofertowe M.M. Druk Serwis Sp. z o.o.

Modułowy system aluminiowy o nieograniczonych możliwościach. Nieograniczony wybór różnych urządzeń o dowolnych. do zastosowania w służbie zdrowie.

System do kontroli i analizy wydawanych posiłków

Dostosowanie piły wzdłużnej do wymagań minimalnych propozycje rozwiązań aplikacyjnych

Zintegrowana sala operacyjna CORE Richard Wolf

UNIWERSALNY PULPIT STEROWANIA

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

CRUSB Spartan KONWERTER CAN / USB

Konfiguracja historii plików

Warsztat naukowca a problem formatu informacji bibliograficznej generowanej przez systemy informacyjne. Remigiusz Sapa IINiB UJ

Łańcuch Krytyczny w Zarządzaniu Projektami

NACZYNIE WZBIORCZE INSTRUKCJA OBSŁUGI INSTRUKCJA INSTALOWANIA

VinCent Office. Moduł Drukarki Fiskalnej

CASE CPI może być wczesnym wskaźnikiem tendencji zmian cen w gospodarce

Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy

PRZEDMIOTOWY SYSTEM OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

Transkrypt:

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

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

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

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

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

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