• EOL

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

Indeks: KSZ-02060

Wydawnictwo: Helion. Książka jest jedną z niewielu pozycji w języku polskim, która opisuje zastosowanie jezyka C do programowania mikrokontrolerów AVR.

Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji - Tomasz Francuz
88,00 zł
83,81 zł netto
Zapłać później
Powiadom o dostępności
Niedostępny
Produkt wycofany
Producent: Helion

 

Uwaga!

Książką została zastąpiona nowym wydaniem.

 

 

Opis produktu: Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji - Tomasz Francuz

Książka jest jedną z niewielu pozycji w języku polskim, która opisuje wykorzystanie jezyka C do programowania mikrokontrolerów AVR. Czytelnik od podstaw dowiaduje się jakie są różnice pomiędzy programowaniem w języku C komputerów klasy PC a mikrokontrolerów. Poznaje tajniki programowania peryferii dostępnych w układach AVR. Zapoznaje się także z biblioteką standardową oraz jej rozszerzeniem (AVR-libc)

 

Kolejne rozdziały przybliżają bardziej zaawansowane techniki programowania, które opierają się na obsłudze bootloadera, zabezpieczaniu i szyfrowaniu aplikacji, czy też realizacji powszechnie znanych protokołów wymiany danych pomiędzy komputerami i urządzeniami opartymi na mikrokontrolerach. W ostatniej części książki czytelnik może przeczytać o specyfice tworzenia aplikacji oraz wyszukiwaniu i usuwania błędów w programach.

 

Lektura w przejrzysty sposób opisuje takie zagadnienia jak:

  • Warsztat pracy programisty AVR
  • Wprowadzenie do języka C dla AVR
  • Budowa programu i jego części składowe
  • Korzystanie z zasobów sprzętowych mikrokontrolera
  • Korzystanie z rejestrów i pamięci
  • Zastosowania przetwornika ADC
  • Obsługa wyświetlaczy LCD
  • Korzystanie z interfejsów komunikacyjnych
  • Zapewnianie bezpieczeństwa kodu

 

W naszym sklepie znajdziesz mikrokontrolery AVR, moduły oraz programatory.

 

Przykładowe projekty wykorzystane w książce dostępne do pobrania. Fragment książki do przeczytania on-line.

 
 

Spis treści

 

Wstęp (11)

 

  • Kody przykładów (12)
  • Schematy (12)
  • Wymagane części (12)

 

Rozdział 1. Instalacja środowiska i potrzebnych narzędzi (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 narzędziowe (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)
    • Dołączanie biblioteki do programu (49)
    • Funkcje "przestarzałe" (50)
    • Nadpisywanie funkcji bibliotecznych (50)
    • Usuwanie niepotrzebnych funkcji i danych (51)

 

Rozdział 2. Programowanie mikrokontrolera (53)

  • Podłączenie - uwagi ogólne (53)
    • Problemy (55)
  • Programatory ISP (55)
    • Budowa programatora (56)
    • Programator USBASP (59)
    • Kilka procesorów w jednym układzie (59)
  • Programatory JTAG (60)
    • Programator JTAGICE (61)
    • Programator JTAGICE mkII (62)
    • Kilka procesorów w jednym układzie (62)
    • AVR Dragon (63)
  • Programatory HW i równoległe (63)
  • Tryb TPI (64)
  • Programowanie procesora w AVR Studio (64)
  • Programowanie przy pomocy narzędzi 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 języka C na AVR (77)

  • Arytmetyka (77)
    • Proste typy danych (77)
    • Arytmetyka stałopozycyjna (81)
    • Arytmetyka zmiennopozycyjna (87)
  • Operacje bitowe (95)
    • Reprezentacja binarna liczb (95)
    • Operacja iloczynu bitowego (96)
    • Operacja sumy bitowej (97)
    • Operacja sumy wyłączającej (98)
    • Operacja negacji bitowej (99)
    • Operacje przesunięć bitowych (100)
  • Zasięg zmiennych (100)
    • Zmienne globalne (101)
    • Zmienne lokalne (102)
    • Modyfikator const (103)
    • Wskaźniki (104)
    • Tablice (109)
  • Funkcje (112)
    • Przekazywanie parametrów przez wartość i referencję (114)
    • Wywołanie funkcji (114)
    • Rekurencyjne wywołania funkcji (115)
  • Słowa kluczowe (116)
    • Operatory (116)
    • Instrukcje sterujące (120)
  • Preprocesor (123)
    • Dyrektywa #include (124)
    • Dyrektywy kompilacji warunkowej (124)
    • Dyrektywa #define (126)
  • Pliki nagłówkowe i źródłowe (127)
    • Definicja a deklaracja (128)
    • Słowo kluczowe static (129)
    • Słowo kluczowe extern (130)
    • Dyrektywa inline (132)
    • Modyfikator register (136)

 

Rozdział 4. Sekcje programu (141)

  • Sekcje danych (142)
    • Sekcja .text (142)
    • Sekcja .data (142)
    • Sekcja .bss (143)
    • Sekcja .eeprom (143)
  • Sekcje zawierające 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 zarządzanie poborem energii (149)

  • Źródła sygnału RESET (149)
    • Power-on Reset (150)
    • Zewnętrzny sygnał RESET (151)
    • Brown-out Detector (151)
    • Układ Watchdog (152)
  • Zarządzanie poborem energii (156)
    • Usypianie procesora (157)
    • Wyłączanie układu BOD (157)
    • Wyłączanie podsystemów procesora (158)
    • Preskaler zegara (159)
    • Inne sposoby minimalizowania poboru energii (160)

 

Rozdział 6. Dynamiczna alokacja pamięci (163)

  • Alokacja pamięci w bibliotece AVR-libc (164)
    • Funkcja malloc (166)
    • Funkcja calloc (166)
    • Funkcja realloc (166)
    • Funkcja free (168)
  • Wycieki pamięci i błędne użycie pamięci alokowanej dynamicznie (169)
  • Jak działa alokator (171)
  • Wykrywanie kolizji sterty i stosu (172)
    • Metoda I - własne funkcje alokujące pamięć (173)
    • Metoda II - sprawdzanie ilości dostępnej pamięci (173)
    • Metoda III - marker (173)
    • Metoda IV - wzór w pamięci (173)
    • Metoda V - wykorzystanie interfejsu JTAG (176)

 

Rozdział 7. Wbudowana pamięć EEPROM (177)

  • Zapobieganie uszkodzeniu zawartości pamięci EEPROM (178)
  • Kontrola odczytu i zapisu do pamięci EEPROM (179)
    • Odczyt zawartości komórki pamięci (180)
    • Zapis do komórki pamięci (180)
  • Dostęp do EEPROM z poziomu AVR-libc (181)
    • Deklaracje danych w pamięci EEPROM (182)
    • Funkcje realizujące dostęp do pamięci EEPROM (183)
    • Inne funkcje operujące na EEPROM (185)
  • Techniki wear leveling (186)

 

Rozdział 8. Dostęp do pamięci FLASH (189)

  • Typy danych związane z pamięcią FLASH (190)
  • Odczyt danych z pamięci FLASH (191)
  • Dostęp do pamięci FLASH ᡸ kB (192)

 

Rozdział 9. Interfejs XMEM (193)

  • Wykorzystanie zewnętrznej pamięci SRAM w programie (197)
    • Konfiguracja I - w pamięci zewnętrznej jest tylko sekcja specjalna (198)
    • Konfiguracja II - wszystkie sekcje w pamięci zewnętrznej, stos w pamięci wewnętrznej (199)
    • Konfiguracja III - w pamięci zewnętrznej umieszczona jest tylko sterta (201)
    • Konfiguracja IV - w pamięci zewnętrznej sterta i segment zdefiniowany przez programistę (202)
    • Konfiguracja V - w pamięci zewnętrznej znajduje się stos (208)
    • Pamięć ROM jako pamięć zewnętrzna (208)

 

Rozdział 10. Dostęp do 16-bitowych rejestrów IO (211)

  • Dostęp do 16-bitowego rejestru ADC (211)
  • Dostęp do 16-bitowych rejestrów timerów (213)

 

Rozdział 11. Opóźnienia (217)

 

Rozdział 12. Dostęp do portów IO procesora (221)

  • Konfiguracja pinu IO (221)
  • Manipulacje stanem pinów IO (225)
    • Zmiana stanu portu na przeciwny (225)
    • Ustawianie linii IO (226)
    • Zerowanie linii IO (226)
    • Makrodefinicja _BV() (227)
    • Użycie pól bitowych (227)
  • Synchronizator (228)
  • Przykłady praktyczne (230)
    • Sterowanie wyświetlaczem 7-segmentowym (230)
    • Podłączenie przycisków (232)
    • Enkoder obrotowy (237)
    • Klawiatura matrycowa (242)

 

Rozdział 13. Rejestry IO ogólnego przeznaczenia (245)

  • Wykorzystanie innych rejestrów jako GPIOR (246)

 

Rozdział 14. Przerwania (249)

  • Obsługa przerwań (251)
    • sei()/cli() (254)
    • Atrybut naked i obsługa przerwań w asemblerze (254)
    • Modyfikator volatile (257)
    • Atomowość dostępu do danych (263)
    • Funkcje reentrant (266)
  • Przykłady praktyczne (268)
    • Wyświetlanie multipleksowane (268)
    • Wyświetlanie multipleksowane z regulacją jasności wyświetlacza (272)
    • Obsługa przycisków (276)
    • Obsługa enkodera (279)
    • Klawiatura matrycowa (280)

 

Rozdział 15. Przetwornik analogowo-cyfrowy (283)

  • Wybór napięcia referencyjnego (284)
  • Multiplekser (285)
  • Przetwornik ADC (285)
    • Tryb pojedynczej konwersji (286)
    • Tryb ciągłej konwersji (287)
  • Wejścia pojedyncze i różnicowe (287)
  • Wynik (288)
  • Wyzwalacze (288)
  • Blokowanie wejść cyfrowych (289)
  • Przerwania ADC (289)
  • Precyzyjne pomiary przy pomocy ADC (290)
  • Nadpróbkowanie (291)
    • Uśrednianie (292)
    • Decymacja i interpolacja (292)
  • Przykłady (292)
    • Termometr analogowy LM35 (293)
    • Klawisze (295)

 

Rozdział 16. Komparator analogowy (301)

  • Funkcje dodatkowe (302)
    • Blokowanie pinów (302)
    • Wyzwalanie zdarzeń timera (302)
    • Wybór wejścia komparatora (302)
    • Wyzwalanie przetwornika ADC (303)

 

Rozdział 17. Timery (305)

  • Sygnał taktujący (306)
    • Wewnętrzny sygnał taktujący (306)
    • Zewnętrzny sygnał taktujący (308)
  • Licznik (308)
  • Układ porównywania danych (309)
    • Wpływ na piny IO (309)
  • Moduł przechwytywania zdarzeń zewnętrznych (310)
    • Eliminacja szumów (311)
    • Komparator jako wyzwalacz zdarzenia ICP (311)
  • Tryby pracy timera (312)
    • Tryb prosty (312)
    • Tryb CTC (315)
    • Tryby PWM (316)
    • Układ ochronny (321)
    • Modulator sygnału wyjściowego (322)
  • Miernik częstotliwości i wypełnienia (323)
  • Realizacja RTC przy pomocy timera (326)
    • Realizacja sprzętowa (327)
    • Realizacja programowa (328)

 

Rozdział 18. Obsługa wyświetlaczy LCD (331)

  • Obsługa wyświetlaczy alfanumerycznych (332)
    • Funkcje biblioteczne (337)
    • Definiowanie własnych znaków (342)
    • Przykład - menu (345)
  • Obsługa wyświetlaczy graficznych (354)

 

Rozdział 19. Interfejs USART (367)

  • Interfejsy szeregowe (367)
  • Interfejs USART (368)
    • Interfejs USART mikrokontrolera AVR (371)
  • Przykłady (375)
    • Połączenie mikrokontroler - komputer PC (375)
    • RS485 (383)

 

Rozdział 20. Interfejs SPI (391)

  • Inicjalizacja interfejsu (394)
    • Ustawienie pinów IO (395)
    • Zegar taktujący (396)
    • Procesor w trybie Master SPI (396)
    • Procesor w trybie slave SPI (397)
  • Przykłady (397)
    • Połączenie AVR-AVR (397)
    • Połączenie AVR - rejestr szeregowy (403)
  • Interfejs USART w trybie SPI (408)
    • Taktowanie magistrali SPI (409)
    • Tryb pracy SPI (409)
    • Format ramki danych (409)
    • Konfiguracja interfejsu (410)

 

Rozdział 21. Interfejs TWI (413)

  • Tryb multimaster (416)
  • Inicjalizacja interfejsu (417)
  • Procesor w trybie I2C master (417)
    • Bity START i STOP (417)
    • Podstawowe funkcje do współpracy z I2C (418)
    • Współpraca z zewnętrzną pamięcią EEPROM (422)
    • Współpraca z zewnętrzną pamięcią FRAM (427)
    • Umieszczanie zmiennych w zewnętrznej pamięci EEPROM (427)
    • Współpraca z zegarem RTC (431)
    • Obsługa ekspandera IO PCF8574 (436)
  • Procesor w trybie I2C slave (437)
    • Przykład (440)

 

Rozdział 22. Interfejs USI (447)

  • 4-bitowy licznik i zegar (447)
  • Przerwania USI (448)
  • Zmiana pozycji pinów (449)
  • Wykorzystanie interfejsu USI w trybie SPI (449)
    • Tryb SPI master (451)
    • Tryb SPI slave (452)

 

Rozdział 23. Interfejs USB (453)

  • Zasilanie (454)
  • Sygnały danych (455)
  • VID i PID (456)
  • Interfejs USB realizowany przy pomocy konwertera (458)
  • Interfejs USB realizowany programowo (459)
    • Połączenie elektryczne (460)
    • Dostęp na PC (460)
    • Programowy interfejs USB na AVR (461)
  • Sprzętowy interfejs USB (464)

 

Rozdział 24. Interfejs 1-wire (465)

  • Realizacja master 1-wire na AVR (469)
    • Realizacja master 1-wire przy pomocy pinów IO (469)
    • Realizacja master 1-wire przy pomocy interfejsu USART (472)
    • Wysokopoziomowe funkcje obsługi 1-wire (477)
  • Termometr cyfrowy DS1820 (480)

 

Rozdział 25. Bootloader (483)

  • Pamięć NRWW i RWW (483)
  • Bity konfiguracyjne bootloadera (485)
    • Konfiguracja lockbitów z poziomu aplikacji (486)
  • Programowanie pamięci FLASH (487)
  • Wykorzystanie przerwań w kodzie bootloadera (489)
    • Usuwanie tablicy wektorów przerwań (490)
    • Skrócenie tablicy wektorów przerwań (491)
  • Start bootloadera (496)
    • Wykorzystanie dodatkowego przycisku/zworki (496)
    • Wykorzystanie markerów w pamięci EEPROM (497)
    • Oczekiwanie na specjalny znak w wybranym kanale komunikacji (498)
    • Start aplikacji (499)
  • Współdzielenie kodu aplikacji i bootloadera (499)
    • Wywoływanie funkcji bootloadera w procesorach ATMega256x (501)
    • Wywoływanie funkcji obsługi przerwań zawartych w kodzie bootloadera (505)
    • Współdzielenie zmiennych pomiędzy aplikacją a bootloaderem (505)
  • Mikrokontrolery AVR z wbudowanym bootloaderem (507)

 

Rozdział 26. Kontrola integralności programu (509)

  • Suma kontrolna (509)
  • CRC (511)
  • Automatyczne generowanie CRC (514)

 

Rozdział 27. Bezpieczeństwo kodu (517)

  • Metody łamania zabezpieczeń (517)
  • Bezpieczne uaktualnianie aplikacji (518)
  • Nota AVR231 - AES Bootloader (519)
    • Ustawienie bitów konfiguracyjnych (524)
    • Przygotowanie aplikacji (526)
    • Wczytywanie uaktualnienia (527)

 

Rozdział 28. Łączenie kodu w C i asemblerze (529)

  • Słowo kluczowe asm (530)
    • Typy operandów (531)
    • Dostęp do portów IO (533)
    • Dostęp do danych wielobajtowych (533)
    • Dostęp do wskaźników (534)
    • Lista modyfikowanych rejestrów (535)
    • Wielokrotne użycie wstawki asemblerowej (535)
  • Pliki .S (536)
    • Wykorzystanie rejestrów w asemblerze (537)
    • Przykłady (541)

 

Rozdział 29. Optymalizacja i debugowanie programu (543)

  • Optymalizacja programu (543)
    • Opcje kompilatora związane z optymalizacją (545)
    • Atrybuty optymalizacji (548)
  • Debugowanie programu (551)
    • Rozpoczęcie sesji debugera (553)
    • Zaawansowane sterowanie przebiegiem wykonywanej aplikacji (556)

 

Skorowidz (559)

 

Książka - Autor Tomasz Francuz
Książka - ISBN 978-83-246-3064-6
Książka - Oprawa miękka
Książka - Wydawnictwo Helion
Szerokość opakowania 0.001 cm
Wysokość opakowania 0.001 cm
Głębokość opakowania 0.001 cm
Masa opakowania 0.001 kg

Jako pierwszy zadaj pytanie dotyczące tego produktu!

Klienci którzy zakupili ten produkt kupili również:

Produkty z tej samej kategorii: