język c dla mikrokontrolerów avr. od podstaw do zaawansowanych aplikacji full version, moje ebooki
[ Pobierz całość w formacie PDF ]
Język C dla
mikrokontrolerów AVR.
Od podstaw do
zaawansowanych aplikacji
Autor
ISBN: 978-83-246-3064-6
Format: 158×235, stron: 568
Idź do
• Spis treści
• Skorowidz
Katalog książek
katalog
Przedstawiamy przebojowy duet – język C i mikrokontroler AVR!
• Poznaj budowę i podstawy programowania mikrokontrolerów
• Dowiedz się, jak do swoich celów wykorzystać język C
• Naucz się rozwiązywać rzeczywiste problemy i tworzyć praktyczne rozwiązania
Mikrokontrolery AVR rmy Atmel
Twój koszyk
stanowią dynamicznie rozwijającą się rodzinę układów. Dzięki
niskiej cenie, dużym możliwościom i dostępności darmowych narzędzi od lat niezmiennie cieszą
się dużą popularnością wśród hobbystów i osób profesjonalnie zajmujących się programowaniem
mikrokontrolerów.
Pewnym utrudnieniem dla polskich użytkowników AVR jest brak literatury na temat wykorzystania
do ich programowania języków wysokiego poziomu, takich jak C. Niniejsza książka jest próbą
wypełnienia tej luki. W sposób syntetyczny pokazuje różnice pomiędzy programowaniem
w języku C komputerów klasy PC i mikrokontrolerów. Omawia programowanie peryferii
dostępnych w mikrokontrolerach AVR w języku C, bibliotekę standardową oraz jej rozszerzenia
znane jako AVR-libc. Dzięki temu nawet osoby w niewielkim stopniu znające podstawy języka C
będą mogły bez problemów „przesiąść się” na programowanie mikrokontrolerów AVR. Z drugiej
strony książka opisuje zaawansowane techniki programowania, związane z obsługą bootloadera,
zabezpieczaniem i szyfrowaniem kodu aplikacji oraz realizacją najpowszechniej stosowanych
protokołów wymiany danych pomiędzy urządzeniami opartymi na mikrokontrolerach
i komputerami PC. Porusza także tematy związane ze specyką pisania aplikacji na
mikrokontrolery oraz wyszukiwaniem i usuwaniem błędów.
Podstawy programowania mikrokontrolerów AVR
• Warsztat pracy programisty AVR
• Wprowadzenie do języka C na AVR
• Budowa programu i jego części składowe
• Korzystanie z zasobów sprzętowych mikrokontrolera
• Używanie rejestrów i różnych rodzajów pamięci
• Zastosowania przetwornika ADC
• Obsługa wyświetlaczy LCD
• Korzystanie z interfejsów
• Zapewnianie bezpieczeństwa kodu
Programowanie mikrokontrolerów jeszcze nigdy nie było tak proste!
Cennik i informacje
o nowościach
Czytelnia
• Fragmenty książek
online
Kontakt
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
© Helion 1991–2011
Spis treci
Wstp ............................................................................................ 11
Kody przykadów ........................................................................................................... 12
Schematy ........................................................................................................................ 12
Wymagane czci ........................................................................................................... 12
Rozdzia 1.
Instalacja rodowiska i potrzebnych narzdzi ................................... 15
Instalacja WinAVR ........................................................................................................ 16
Instalacja AVR Studio .................................................................................................... 17
Systemy GNU/Linux ...................................................................................................... 18
AVR Studio .................................................................................................................... 19
Pierwsza aplikacja .................................................................................................... 21
Dodawanie plików do projektu ................................................................................ 25
Programy narzdziowe ................................................................................................... 27
Linker ....................................................................................................................... 27
Program avr-size ...................................................................................................... 31
Program avr-nm ........................................................................................................ 32
Program avr-objcopy ................................................................................................ 33
Program make .......................................................................................................... 36
Pliki wynikowe ......................................................................................................... 43
Biblioteki ........................................................................................................................ 46
Projekt biblioteki ...................................................................................................... 47
Tworzenie biblioteki ................................................................................................ 48
Doczanie biblioteki do programu .......................................................................... 49
Funkcje „przestarzae” ............................................................................................. 50
Nadpisywanie funkcji bibliotecznych ....................................................................... 50
Usuwanie niepotrzebnych funkcji i danych .............................................................. 51
Rozdzia 2.
Programowanie mikrokontrolera ..................................................... 53
Podczenie — uwagi ogólne ......................................................................................... 53
Problemy .................................................................................................................. 55
Programatory ISP ........................................................................................................... 55
Budowa programatora .............................................................................................. 56
Programator USBASP .............................................................................................. 59
Kilka procesorów w jednym ukadzie ...................................................................... 59
Programatory JTAG ....................................................................................................... 60
Programator JTAGICE ............................................................................................. 61
Programator JTAGICE mkII .................................................................................... 62
4
Jzyk C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji
Kilka procesorów w jednym ukadzie ...................................................................... 62
AVR Dragon ............................................................................................................ 63
Programatory HW i równolege ...................................................................................... 63
Tryb TPI ......................................................................................................................... 64
Programowanie procesora w AVR Studio ...................................................................... 64
Programowanie przy pomocy narzdzi dostarczonych przez firm Atmel ..................... 65
Program AVRDUDE ...................................................................................................... 67
Program PonyProg .......................................................................................................... 70
Fusebity i lockbity w AVR-libc ...................................................................................... 70
Lockbity ................................................................................................................... 71
Fusebity .................................................................................................................... 71
Sygnatura ........................................................................................................................ 74
Lockbity w AVR-libc ..................................................................................................... 74
Fusebity w AVR-libc ...................................................................................................... 75
Rozdzia 3.
Podstawy jzyka C na AVR ............................................................. 77
Arytmetyka .....................................................................................................................77
Proste typy danych ................................................................................................... 77
Arytmetyka staopozycyjna ...................................................................................... 81
Arytmetyka zmiennopozycyjna ................................................................................ 87
Operacje bitowe .............................................................................................................. 95
Reprezentacja binarna liczb ...................................................................................... 95
Operacja iloczynu bitowego ..................................................................................... 96
Operacja sumy bitowej ............................................................................................. 97
Operacja sumy wyczajcej .................................................................................... 98
Operacja negacji bitowej .......................................................................................... 99
Operacje przesuni bitowych ................................................................................ 100
Zasig zmiennych ......................................................................................................... 100
Zmienne globalne ................................................................................................... 101
Zmienne lokalne ..................................................................................................... 102
Modyfikator const .................................................................................................. 103
Wskaniki ............................................................................................................... 104
Tablice .................................................................................................................... 109
Funkcje ......................................................................................................................... 112
Przekazywanie parametrów przez warto i referencj .......................................... 114
Wywoanie funkcji ................................................................................................. 114
Rekurencyjne wywoania funkcji ........................................................................... 115
Sowa kluczowe ............................................................................................................ 116
Operatory ............................................................................................................... 116
Instrukcje sterujce ................................................................................................. 120
Preprocesor ................................................................................................................... 123
Dyrektywa #include ............................................................................................... 124
Dyrektywy kompilacji warunkowej ....................................................................... 124
Dyrektywa #define ................................................................................................. 126
Pliki nagówkowe i ródowe ....................................................................................... 127
Definicja a deklaracja ............................................................................................. 128
Sowo kluczowe static ............................................................................................ 129
Sowo kluczowe extern .......................................................................................... 130
Dyrektywa inline .................................................................................................... 132
Modyfikator register ............................................................................................... 136
Rozdzia 4.
Sekcje programu .......................................................................... 141
Sekcje danych ............................................................................................................... 142
Sekcja .text ............................................................................................................. 142
Sekcja .data ............................................................................................................ 142
Spis treci
5
Sekcja .bss .............................................................................................................. 143
Sekcja .eeprom ....................................................................................................... 143
Sekcje zawierajce kod programu ................................................................................ 144
Podsekcje .init[0-9] ................................................................................................ 144
Podsekcje .fini[0-9] ................................................................................................ 145
Sekcje specjalne ............................................................................................................ 146
Sekcje tworzone przez programist .............................................................................. 146
Umieszczanie sekcji pod wskazanym adresem ............................................................. 147
Rozdzia 5.
Kontrola rdzenia i zarzdzanie poborem energii .............................. 149
róda sygnau RESET ................................................................................................. 149
Power-on Reset ...................................................................................................... 150
Zewntrzny sygna RESET .................................................................................... 151
Brown-out Detector ................................................................................................ 151
Ukad Watchdog ..................................................................................................... 152
Zarzdzanie poborem energii ....................................................................................... 156
Usypianie procesora ............................................................................................... 157
Wyczanie ukadu BOD ........................................................................................ 157
Wyczanie podsystemów procesora ...................................................................... 158
Preskaler zegara ..................................................................................................... 159
Inne sposoby minimalizowania poboru energii ...................................................... 160
Rozdzia 6.
Dynamiczna alokacja pamici ....................................................... 163
Alokacja pamici w bibliotece AVR-libc ..................................................................... 164
Funkcja malloc ....................................................................................................... 166
Funkcja calloc ........................................................................................................ 166
Funkcja realloc ....................................................................................................... 166
Funkcja free ............................................................................................................ 168
Wycieki pamici i bdne uycie pamici alokowanej dynamicznie ............................ 169
Jak dziaa alokator ........................................................................................................ 171
Wykrywanie kolizji sterty i stosu ................................................................................. 172
Metoda I — wasne funkcje alokujce pami ....................................................... 173
Metoda II — sprawdzanie iloci dostpnej pamici ............................................... 173
Metoda III — marker ............................................................................................. 173
Metoda IV — wzór w pamici ............................................................................... 173
Metoda V — wykorzystanie interfejsu JTAG ........................................................ 176
Rozdzia 7.
Wbudowana pami EEPROM ....................................................... 177
Zapobieganie uszkodzeniu zawartoci pamici EEPROM ........................................... 178
Kontrola odczytu i zapisu do pamici EEPROM .......................................................... 179
Odczyt zawartoci komórki pamici ...................................................................... 180
Zapis do komórki pamici ...................................................................................... 180
Dostp do EEPROM z poziomu AVR-libc ................................................................... 181
Deklaracje danych w pamici EEPROM ................................................................ 182
Funkcje realizujce dostp do pamici EEPROM .................................................. 183
Inne funkcje operujce na EEPROM ...................................................................... 185
Techniki wear leveling ................................................................................................. 186
Rozdzia 8.
Dostp do pamici FLASH ............................................................ 189
Typy danych zwizane z pamici FLASH .................................................................. 190
Odczyt danych z pamici FLASH ................................................................................ 191
Dostp do pamici FLASH >64 kB .............................................................................. 192
[ Pobierz całość w formacie PDF ]