ISBN 978-83-60233-22-1. Copyright by Wydawnictwo BTC Warszawa 2007. Redaktor techniczny: Delfina Korabiewska Redaktor merytoryczny: mgr Anna Kubacka



Podobne dokumenty
ISBN Copyright by Wydawnictwo BTC Legionowo 2008

ISBN. Copyright by Wydawnictwo BTC Legionowo 2010

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Systemy wbudowane. Paweł Pełczyński

Szkolenia specjalistyczne

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Mikrokontroler Wykład 5

MIKROKONTROLERY I MIKROPROCESORY

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Wykład 2. Mikrokontrolery z rdzeniami ARM

WPROWADZENIE Mikrosterownik mikrokontrolery

1.2. Architektura rdzenia ARM Cortex-M3...16

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x

Systemy na Chipie. Robert Czerwiński

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

Aparatura Elektroniczna (EAE) Stopień studiów i forma: I stopień, stacjonarna Rodzaj przedmiotu: obowiązkowy - 2

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

Politechnika Białostocka

11.Mikrokomputeryjednoukładowe

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Opis efektów kształcenia dla modułu zajęć

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL5ARM. Zestaw uruchomieniowy dla mikrokontrolerów LPC2119/2129 (rdzeń ARM7TMDI-S) Kompatybilność z zestawem MCB2100 firmy Keil

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

Układy zegarowe w systemie mikroprocesorowym

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

Wykład 6. Mikrokontrolery z rdzeniem ARM

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2015/2016 Kod: IIN s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Wstęp Architektura... 13

ZL8AVR. Płyta bazowa dla modułów dipavr

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

KAmduino UNO. Rev Źródło:

System czasu rzeczywistego

dokument DOK wersja 1.0

MIKROKONTROLERY AVR JĘZYK C WYDAWNICTWO ATNEL PODSTAWY PROGRAMOWANIA. Miros aw Kardaś. Szczecin Mojej Żonie Kasi

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi. nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Systemy wbudowane Mikrokontrolery

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Centrum Szkoleo w Sochaczewie. Grzegorz Domaoski. MS Access 2010

Politechnika Śląska w Gliwicach

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Elektronika samochodowa (Kod: TS1C )

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Płyta uruchomieniowa EBX51

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Elementy składowe systemu komputerowego

Układy zegarowe w systemie mikroprocesorowym

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

Katedra Systemów Automatyki Automatyka i Robotyka. Obszary kształcenia. Nauki techniczne

Systemy mikroprocesorowe. Literatura podręcznikowa. Przedmioty związane. Przykłady systemów wbudowanych. Pojęcie systemu wbudowanego embedded system

Systemy uruchomieniowe

2. Architektura mikrokontrolerów PIC16F8x... 13

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

Mikroprocesory i Mikrosterowniki

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

NXP ma nowe ARM-y. BlueStreak: co i jak

Technika mikroprocesorowa

Procesory Blackfin. Część 1

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

System mikroprocesorowy i peryferia. Dariusz Chaberski

Układy czasowo-licznikowe w systemach mikroprocesorowych

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI DK Wszystkie prawa zastrzeżone

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

MOD STM32 explorem0 z STM32F051C8T6. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Specjalność uzupełniająca

Transkrypt:

W książce zawarto praktyczne wprowadzenie w świat programowania w języku C mikrokontrolerów z rdzeniem ARM7. Przykłady zawarte w książce pokazują sposób wykorzystywania zasobów wbudowanych w mikrokontrolery z rodziny LPC2000 firmy NXP od elementarnych (np. sterowanie liniami wejścia-wyjścia, programowanie timerów) do bardziej skomplikowanych (np. szeregowa transmisja z wykorzystaniem wbudowanych interfejsów UART, I 2 C, SPI). Najlepszą metodą przyswajania nowych wiadomości jest ich praktyczne wypróbowanie. Jako platformę sprzętową umożliwiającą praktyczne przetestowanie zamieszczonych w książce przykładów wybrano zestaw uruchomieniowy ZL9ARM+ZL10ARM z mikrokontrolerem z rodziny LPC2000 firmy NXP są to obecnie najpopularniejsze w świecie elektroników mikrokontrolery z rdzeniem ARM7. Książka jest przeznaczona dla wszystkich miłośników techniki mikroprocesorowej, którzy zamierzają wykorzystywać w swoich opracowaniach nowoczesne mikrokontrolery z rdzeniem ARM7. Wiele informacji zawartych w książce może być przydatnych studentom wydziałów elektroniki, automatyki i informatyki wyższych uczelni technicznych, jak również inżynierom-konstruktorom systemów mikroprocesorowych. Redaktor techniczny: Delfina Korabiewska Redaktor merytoryczny: mgr Anna Kubacka ISBN 978-83-60233-22-1 Copyright by Wydawnictwo BTC Warszawa 2007 Wydawnictwo BTC ul. Lwowska 5 05-120 Legionowo fax: (22) 814-13-02 http://www.btc.pl e-mail: redakcja@btc.pl Wydanie I. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz wydawnictwo BTC dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz wydawnictwo BTC nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentów niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Druk i oprawa: Drukarnia Narodowa S.A.

Spis treści 3 Od autora...5 1. Rdzeń ARM7TDMI-S... 7 1.1. Wstęp...8 1.2. Architektura RISC. Charakterystyka procesora ARM7TDMI-S...8 1.3. Tryby ochrony procesora...11 1.4. Rejestry...13 1.5. Wyjątki procesora...18 1.6. Lista instrukcji ARM...20 2. Mikrokontrolery LPC213x/LPC214x... 25 2.1. Wstęp...26 2.2. Porty wejścia-wyjścia (GPIO) oraz zasilanie mikrokontrolera...28 2.3. Magistrale wewnętrzne mikrokontrolera...32 2.4. Przestrzeń adresowa mikrokontrolera. Kontroler pamięci MAM...34 2.5. Sygnał zegarowy i układ zerowania mikrokontrolera...37 2.6. Przerwania zewnętrzne, tryby oszczędzania energii...40 3. Przykłady aplikacji... 43 3.1. Najprostsza aplikacja mikrokontroleralpc213x/214x...44 3.2. Zestaw uruchomieniowy ZL9ARM...46 4. Środowisko programistyczne... 51 4.1. Wstęp...52 4.2. Instalacja oprogramowania...52 4.3. Składniki projektu dla LPC21xx...58 4.4. Automatyzacja kompilacji projektu za pomocą GNU make...59 4.5. Skrypty linkera...66 4.6. Programowanie pamięci Flash w mikrokontrolerach LPC21xx...70 4.7. Praca w środowisku Eclipse pierwszy projekt...73 4.8. Kilka słów o programie węża świetlnego...76 5. Podstawowe urządzenia peryferyjne mikrokontrolera... 79 5.1. Wstęp, start systemu...80 5.2. Mapowanie pamięci, czyli rejestr MEMMAP...81 5.3. Konfiguracja pętli PLL oraz sygnałów zegarowych...82 5.4. Konfiguracja kontrolera pamięci MAM...85 5.5. Pozostałe elementy pliku startowego...87

4 Spis treści 5.6. Detektor zaniku napięcia, wykrywanie przyczyny zerowania...90 5.7. Tryby oszczędzania energii...92 6. Porty wejścia-wyjścia (GPIO)... 95 6.1. Wstęp...96 6.2. Budowa portów GPIO mikrokontrolerów LPC...96 6.3. Praktyczna obsługa portów...101 6.4. Obsługa wyświetlacza LCD...104 7. System przerwań mikrokontrolera... 113 7.1. Wstęp...114 7.2. Przerwania programowe...114 7.3. Przerwania sprzętowe kontroler przerwań VIC...118 7.4. Przerwania szybkie FIQ...119 7.5. Wektoryzowane przerwania IRQ...120 7.6. Przerwania niewektoryzowane IRQ...122 7.7. Obsługa przerwań w jednostce centralnej...122 7.8. Przerwania zewnętrzne EINT...124 7.9. Praktyczne zagadnienia dotyczące systemu przerwań...126 8. Odmierzanie czasu układy licznikowe...133 8.1. Wstęp...134 8.2. Układy czasowo-licznikowe T0 i T1...134 8.3. Układ PWM...144 8.4. Zegar czasu rzeczywistego RTC...151 8.5. Układ watchdog...158 9. Interfejsy szeregowe...163 9.1. Wstęp...164 9.2. Porty szeregowe UART...164 9.3. Interfejs I 2 C...177 9.4. Interfejs SPI...185 10. Przetwarzanie sygnałów analogowych...199 10.1. Wstęp...200 10.2. Przetworniki analogowo-cyfrowe...200 10.3. Przetwornik cyfrowo-analogowy...211 10.4. Biblioteka standardowa STDIO...213 Literatura...216

Od autora 5 Od autora Trudno dziś znaleźć na rynku urządzenie, które nie byłoby wyposażone w system mikroprocesorowy. Zastosowanie mikroprocesora umożliwia znaczne zwiększenie funkcjonalności urządzenia, o czym dawniej można było tylko pomarzyć. Historia rozwoju mikroprocesorów rozpoczęła się w roku 1971, kiedy Intel na zlecenie japońskiej firmy Busicom produkującej kalkulatory wyprodukował pierwszy 4-bitowy mikroprocesor Intel4004 w obudowie DIP16 zawierający 2300 tranzystorów i pracujący z zawrotną na owe czasy częstotliwością 100 khz. Szybko okazało się jednak, że zaprojektowane układy mają szersze zastosowanie i Intel zdecydował się na odkupienie praw do użycia układu. Japończycy nie wiązali wielkich nadziei z tym układem i sprzedali prawa do niego Intelowi za 60 000 $. Szybko okazało się, że możliwości oraz wydajność 4004 nie są wystarczające, dlatego Intel opracował 8-bitowy układ mikroprocesora Intel8080 pracujący z częstotliwością 2 MHz, który okazał się wielkim rynkowym sukcesem. Zaczęły pojawiać się pierwsze mikrokomputery wykorzystujące wspomniany układ oraz klony układu i8080 produkowane przez inne firmy. Wkrótce nastąpił burzliwy rozwój techniki komputerowej i mikroprocesorów, co zaowocowało wyprodukowaniem przez firmę Intel 16-bitowego mikroprocesora i8086. Układ ten firma IBM wykorzystała w pierwszych komputerach klasy PC, które okazały się wielkim sukcesem rynkowym. Intel zachęcony powodzeniem rodziny x86 wyprodukował kolejne mikroprocesory rodziny x86. Klasyczne mikroprocesory do prawidłowej pracy wymagały zewnętrznych układów peryferyjnych, takich jak pamięć RAM, układy czasowo-licznikowe układy wejścia-wyjścia. Wraz ze wzrostem liczby urządzeń, w których mikroprocesory znajdowały zastosowanie, okazało się, że ich wykorzystywanie w wielu urządzeniach jest zbyt kosztowne, a duża moc obliczeniowa nie zawsze jest wymagana. W związku z tym powstała idea integracji całego systemu mikroprocesorowego w jednym układzie scalonym, tak aby mógł on pracować autonomicznie bez żadnych dodatkowych układów. Jednocześnie tak powstały układ nie musiał charakteryzować się dużą mocą obliczeniową, ponieważ najczęściej miał być wykorzystywany do sterowania prostymi procesami. Tak właśnie zrodziła się idea mikrokomputera jednoukładowego (obecnie nazywanego mikrokontrolerem), który do prawidłowego działania nie wymagał dodatkowych układów zewnętrznych. Pierwszy mikrokomputer jednoukładowy 8048 opracowano w firmie Intel w roku 1976. Zawierał on w sobie 8-bitową jednostkę centralną, 1 kb pamięci ROM oraz 64 bajty pamięci RAM i jak na owe czasy był nowatorskim rozwiązaniem. Był szeroko wykorzystywany w prostych układach sterowania i automatyki, jednak z uwagi na swoje ograniczone zasoby szybko wyparł go wyprodukowany w roku 1981 mikrokontroler 8051 zawierający rozbudowaną w stosunku do 8048 8-bitową jednostkę centralną, 128 bajtów pamięci RAM oraz 4 kb pamięci ROM. Mikrokontroler 8051 jest jednym z najbardziej popularnych mikrokontrolerów, wykorzystywanych w elektronice powszechnego użytku; i w różnych odmianach jest produkowany przez wiele firm aż do dziś. Na rynku istnieją oczywiście inne odmiany mikrokontrolerów, jak chociażby AVR czy PIC, jednak tak jak poczciwy i8048 są one nadal układami 8-bitowymi, pomimo tego że duże systemy mikroprocesorowe już od dawna posługują się mikroprocesorami 32-bitowymi. Dotychczas użycie 32-bitowych mikrokontrolerów pozostawało w sferze marzeń przeciętnego konstruktora ze względu na wysoką cenę,

6 Od autora skomplikowane rozwiązania układowe wymagające prowadzenia na płytkach 32-bitowych magistral systemowych oraz konieczność stosowania dodatkowych układów zewnętrznych. Sytuacja uległa diametralnej zmianie w momencie pojawienia się na rynku mikrokontrolerów z rodziny LPC21xx produkowanych przez firmę PHILIPS (obecnie NXP Semiconductors). Mikrokontrolery te zawierają w sobie 32-bitowy system mikroprocesorowy z pamięcią Flash oraz RAM, zwalniający konstruktora z prowadzenia skomplikowanych połączeń magistralowych. Ceny mikrokontrolerów są bardzo zachęcające, np. mikrokontroler LPC2131 (m.in. 32 kb Flash, 8 kb RAM) kosztuje nieznacznie więcej niż ATmega32 o znacznie mniejszych możliwościach. Do dyspozycji mamy bardzo dużą moc obliczeniową, jaką daje 32-bitowy rdzeń taktowany sygnałem o częstotliwości do 60 MHz. Mikrokontrolery LPC21xx są wyposażone w jednostkę centralną ARM7TDMI-S opracowaną w firmie ARM. Rdzeń ARM7TDMI-S staje się standardem wśród mikrokontrolerów 32-bitowych, podobnie jak rdzeń 8051 był i jest standardem wśród mikrokontrolerów 8-bitowych. Poznając architekturę LPC21xx, możemy stosukowo łatwo przejść do programowania mikrokontrolerów innych producentów opartych na rdzeniu ARM7TDMI-S, np. układów z rodziny AT91SAM7S firmy Atmel albo STR7 firmy STM. W przypadku gdyby moc obliczeniowa okazała się niewystarczająca, stosunkowo łatwo można przejść na wydajniejszą architekturę ARM9 lub ARM11. Gdy do dyspozycji mamy trochę większy mikrokontroler oparty na rdzeniu ARM wyposażony w jednostkę MMU (zarządzania pamięcią), możemy uruchamiać systemy operacyjne, takie jak Linux czy Windows CE. Programowanie mikrokontrolerów LPC21xx nie jest dużo bardziej skomplikowane od programowania AVR-ów, a do dyspozycji mamy analogiczne narzędzia, np. darmowy kompilator gcc (arm-gcc) pozwalający na pisanie programów w języku C oraz C++. Programowanie pamięci Flash mikrokontrolera może odbywać się w docelowym systemie poprzez port RS232 i bezpłatne oprogramowanie na przykład: LPC2000 Flash Utility, Flash Magic czy lpc21isp. Autor niniejszej książki postawił sobie za cel pokazanie krok po kroku sposobu posługiwania się narzędziami oraz pisania programów przeznaczonych do mikrokontrolerów z rdzeniem ARM. Czytelnik potrafiący programować w języku C dowolną rodzinę mikrokontrolerów 8-bitowych, po zapoznaniu się z książką nie powinien mieć większych problemów podczas posługiwania się mikrokontrolerami z rdzeniem ARM. Książka ta nie jest przeznaczona dla zupełnie początkujących programistów, dlatego autor zakłada umiejętność programowania przez Czytelnika przynajmniej jednej z rodzin mikrokontrolerów 8-bitowych. W pierwszych rozdziałach książki przedstawiono opis architektury ARM oraz opis mikrokontrolerów rodziny LPC21xx produkowanych przez firmę NXP. W kolejnych rozdziałach zaprezentowano praktyczne przykłady programowania mikrokontrolera z wykorzystaniem zestawu uruchomieniowego z mikrokontrolerem LPC2142/8 firmy Kamami (płyta bazowa o oznaczeniu ZL9ARM oraz moduł z mikrokontrolerem o oznaczeniu ZL10ARM). Zawarte przykłady opisują poszczególne urządzenia peryferyjne mikrokontrolera wraz z praktycznymi przykładami, ponieważ nic tak nie uczy jak ćwiczenia praktyczne. Pomimo że przykłady zawarte w książce przygotowano dla mikrokontrolerów z rodziny LPC21xx firmy NXP, Czytelnik po zapoznaniu się ze specyficznymi układami peryferyjnymi dowolnego mikrokontrolera będzie w stanie wykorzystać informacje zawarte w książce. Na wszelkie uwagi i opinie czekam pod adresem e-mailowym: lucjan.bryndza@ep.com.pl.