Facebook - konwersja

Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. Wydanie II - ebook

Wydawnictwo:
Data wydania:
9 stycznia 2015
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
149,00

Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. Wydanie II - ebook

Mikrokontroler pod kontrolą!

  • Podstawy budowy mikrokontrolerów, czyli jakie możliwości dają środowisko Atmel Studio i platforma Xplained z ATmega168/328
  • Architektura i zestaw instrukcji, czyli dlaczego mikrokontrolery warto programować w języku C
  • Efektywne pisanie prostych i skomplikowanych programów na AVR, czyli jak wykorzystać różne triki

Mikrokontrolery AVR to grupa układów oferujących ogromne możliwości. Każdy amator elektroniki i programowania wie, że można wykorzystać je na tysiąc sposobów, a prostota budowy, szybkość działania, bogactwo peryferii i wiele darmowych narzędzi czynią je tym bardziej atrakcyjnymi gadżetami. Jeśli chciałbyś zgłębić tajniki programowania mikrokontrolerów albo podszkolić własne umiejętności w tej dziedzinie, czas zajrzeć do tej książki!

W nowym wydaniu uwzględniono zmiany, jakie zaszły w świecie AVR w ciągu ostatnich 3 lat, czyli np. zmianę AVR Studio na Atmel Studio. Znajdziesz tu podstawy posługiwania się nowym IDE, tworzenia oraz debugowania w nim projektów. Dowiesz się więcej o zmianach w kompilatorze avr-gcc, a szczególnie o tzw. nazwanych przestrzeniach adresowych, które ułatwiły dostęp do danych umieszczonych w pamięci FLASH mikrokontrolera. Odkryjesz, jak wykorzystać piloty telewizyjne do sterowania pisanym programem i jak połączyć program w C z asemblerem. Miłośnicy LED-ów zrozumieją, jak obsługiwać wielokolorowe matryce z wykorzystaniem peryferii dostępnych w AVR oraz jak sprzętowo realizować wymianę danych z popularnymi diodami ze sterownikiem WS2812B. Jeśli chcesz, by mikrokontroler stał się Twoim sprzymierzeńcem, musisz przeczytać tę książkę!

  • Mikrokontroler i jego otoczenie, programatory
  • Arytmetyka i operacje bitowe
  • Zarządzanie projektem i preprocesor
  • Kontrola rdzenia i zarządzanie poborem energii
  • Dynamiczna alokacja pamięci i wbudowana pamięć EEPROM
  • Dostęp do pamięci FLASH i portów IO mikrokontrolera
  • Rejestry IO ogólnego przeznaczenia
  • Przerwania i timery
  • Komparator i przetwornik analogowo-cyfrowy
  • Obsługa wyświetlaczy i interfejsy (USART, SPI, TWI, USI, 1-wire)
  • Łączenie kodu C i asemblera
  • Bootloader i debugowanie programu

Mikrokontroler wielkich możliwości do Twoich usług!

Spis treści

Wstęp do wydania drugiego (13)

Wstęp (15)

  • Kody przykładów (16)
  • Schematy (16)
  • Wymagane części (16)
  • Wsparcie (18)

Rozdział 1. Jak zacząć, czyli instalacja środowiska (19)

  • Atmel Studio 6 - podstawy (20)
    • Rozpoczynamy pracę - nowy projekt (20)
    • Opcje projektu (22)
  • Atmel Studio - dodatki (27)
    • Naggy (28)
    • MarginOfError (28)
    • Data Size Viewer (29)
    • Doxygen Integrator (29)
    • AnkhSVN (30)
  • AVR w systemie GNU/Linux (30)

Rozdział 2. Mikrokontroler i jego otoczenie (33)

  • Podłączenie zasilania (33)
    • Odsprzęganie zasilania (34)
  • Filtrowanie zasilania dla części analogowej procesora (35)
    • Zasilacz (36)
  • Łączenie mikrokontrolera z układami pracującymi w innej domenie napięciowej (39)
    • Konwersja poziomów logicznych pomiędzy układami pracującymi z różnymi napięciami zasilającymi (40)
    • Piny wejściowe i wyjściowe (40)
    • Łączenie wyjścia procesora z układem pracującym z napięciem 5 V (43)
    • Zastosowanie aktywnego konwertera (45)
    • Konwersja z napięcia wyższego na niższe (45)
    • Dzielnik rezystorowy (46)
    • Użycie do konwersji napięć buforów scalonych (47)
    • Bufor dwukierunkowy stosowany w magistralach typu open drain (47)
  • Oscylatory zegarowe (49)
  • Zasady wykorzystania zewnętrznego kwarcu (50)
  • Generator kwarcowy 32768 Hz (52)

Rozdział 3. Programatory (53)

  • Podłączenie - uwagi ogólne (54)
    • Problemy (56)
  • Programowanie AVR (56)
    • Programatory ISP (57)
  • Programatory (59)
    • Programator AVRISP mkII (59)
    • Programator USBASP (60)
  • Programatory JTAG (60)
    • Programator JTAGICE mkII (62)
    • JTAGICEIII (62)
    • AVROne! (63)
    • AVR Dragon (63)
    • Interfejs debugWIRE (67)
  • Programowanie z poziomu AS6 - dlaczego warto korzystać z plików w formacie elf (68)
  • Kilka procesorów i interfejs ISP (69)
  • Kilka procesorów w jednym układzie (70)
  • Programatory HV i równoległe (71)
  • Tryb TPI (71)
  • Programator Atmel-ICE (72)
    • Uaktualnianie firmware narzędzi (73)
  • Czy nie da się taniej? (73)
  • Programowanie przy pomocy narzędzi dostarczonych przez firmę Atmel (74)
  • Program AVRDUDE (75)

Rozdział 4. Na czym pracujemy, czyli ATmega168/328 Xplained Mini w skrócie (77)

  • Podłączenie modułu (78)
  • Xplained Mini w Atmel Studio (78)
  • Piny IO (79)
  • Pierwszy program (80)
    • Wgrywamy pierwszy program (83)

Rozdział 5. Bity konfiguracyjne (85)

  • Co to takiego? (85)
    • Lockbity (86)
    • Fusebity (86)
  • Sygnatura (90)
  • Konfiguracja fuse- i lockbitów w AVR-libc (90)
    • Lockbity w AVR-libc (91)
    • Fusebity w AVR-libc (91)
  • Konfiguracja w Atmel Studio (92)

Rozdział 6. Arytmetyka i operacje bitowe (95)

  • Arytmetyka (95)
    • Reprezentacja binarna liczb (95)
    • Proste typy danych (97)
    • Arytmetyka stałopozycyjna (102)
    • Arytmetyka zmiennopozycyjna (108)
  • Operacje bitowe (116)
    • Operacja iloczynu bitowego (116)
    • Operacja sumy bitowej (117)
    • Operacja sumy wyłączającej (118)
    • Operacja negacji bitowej (119)
    • Operacje przesunięć bitowych (120)

Rozdział 7. Podstawy języka C na AVR (123)

  • Zasięg zmiennych (123)
    • Zmienne globalne (124)
    • Zmienne lokalne (125)
    • Wskaźniki (127)
    • Tablice (133)
  • Struktury (137)
    • Wskaźniki i struktury (138)
    • Struktury anonimowe (139)
    • Inicjalizacja pól struktury (139)
    • Unie (140)
    • Pola bitowe (141)
    • Definicja a deklaracja (142)
  • Funkcje (143)
    • Przekazywanie parametrów przez wartość i referencję (145)
    • Rekurencyjne wywołania funkcji (145)
  • Słowa kluczowe (146)
    • Operatory (146)
    • Instrukcje sterujące (150)

Rozdział 8. Zarządzanie projektem i preprocesor (155)

  • Preprocesor (155)
    • Dyrektywa #include (156)
    • Dyrektywy kompilacji warunkowej (157)
    • Dyrektywa #define (158)
  • Komentarze (160)
  • Nazewnictwo (161)
    • Literały (163)
  • Podział kodu na pliki (165)
    • Widoczność funkcji (169)
    • Widoczność zmiennych - słowo kluczowe extern (170)
    • Podkatalogi (172)
  • Modyfikator const (173)
  • Słowo kluczowe static (175)
  • Dyrektywa inline (175)
    • inline funkcja(); (177)
    • static inline funkcja(); (178)
    • extern inline funkcja(); (179)
  • Modyfikator register (180)

Rozdział 9. Sekcje programu (183)

  • Sekcje danych (184)
    • Sekcja .text (184)
    • Sekcja .data (184)
    • Sekcja .bss (185)
    • Sekcja .eeprom (186)
  • Sekcje zawierające kod programu (186)
    • Podsekcje .init[0-9\ (187)
    • Podsekcje .fini[0-9\ (188)
  • Sekcje specjalne (188)
  • Sekcje a opcje kompilacji (188)
  • Sekcje tworzone przez programistę (190)
  • Umieszczanie sekcji pod wskazanym adresem (191)

Rozdział 10. Kontrola rdzenia i zarządzanie poborem energii (193)

  • Źródła sygnału RESET (193)
    • Power-on Reset (195)
    • Zewnętrzny sygnał RESET (195)
    • Brown-out Detector (195)
    • Układ watchdog (196)
  • Zarządzanie poborem energii (201)
    • Usypianie procesora (201)
    • Wyłączanie układu BOD (202)
    • Wyłączanie podsystemów procesora (203)
    • Preskaler zegara (203)
    • Inne sposoby minimalizowania poboru energii (204)

Rozdział 11. Dynamiczna alokacja pamięci (207)

  • Alokacja pamięci w bibliotece AVR-libc (209)
    • Funkcja malloc (212)
    • Funkcja calloc (212)
    • Funkcja realloc (212)
    • Funkcja free (214)
  • Wycieki pamięci i błędne użycie pamięci alokowanej dynamicznie (214)
  • Wykrywanie kolizji sterty i stosu (216)
    • Metoda I - własne funkcje alokujące pamięć (217)
    • Metoda II - sprawdzanie ilości dostępnej pamięci (217)
    • Metoda III - marker (217)
    • Metoda IV - wykorzystanie interfejsu JTAG lub debugWire (217)
    • Metoda V - wzór w pamięci (219)

Rozdział 12. Wbudowana pamięć EEPROM (223)

  • Kilka słów, czym jest EEPROM (223)
  • Dostęp do EEPROM w AVR (224)
  • Zapobieganie uszkodzeniu zawartości pamięci EEPROM (225)
  • Kontrola odczytu i zapisu do pamięci EEPROM (226)
    • Odczyt zawartości komórki pamięci (226)
    • Zapis do komórki pamięci (226)
  • Dostęp do EEPROM z poziomu AVR-libc (228)
    • Deklaracje danych w pamięci EEPROM (228)
    • Funkcje realizujące dostęp do pamięci EEPROM (230)
    • Inne funkcje operujące na EEPROM (232)
  • Techniki wear leveling (233)
  • EEPROM i awaria zasilania (235)
  • Problem atomowości przy dostępie do EEPROM (241)
  • Zapis do EEPROM z użyciem przerwań (241)

Rozdział 13. Dostęp do pamięci FLASH (245)

  • Wskaźniki wykorzystujące przestrzenie adresowe (248)
  • Jak to bywało dawniej... (252)
  • Dostęp do pamięci FLASH > 64 kB (253)
  • Typy 24-bitowe (254)

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

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

Rozdział 15. Zwalniamy, czyli kiedy opóźnienia są konieczne (259)

  • Opóźnienia przy zmiennym taktowaniu (263)
  • Wykorzystanie timerów do realizacji opóźnień (265)

Rozdział 16. Pliki z danymi - jak je dodawać do projektu? (267)

  • Kompilacja plików binarnych (268)
  • Łączenie plików obiektowych z projektem (270)
  • Dostęp do danych binarnych (273)
    • Dostęp do danych z wykorzystaniem przestrzeni adresowych (275)

Rozdział 17. Dostęp do portów IO mikrokontrolera (277)

  • Konfiguracja pinu IO (278)
  • Manipulacje stanem pinów IO (282)
    • Zmiana stanu portu na przeciwny (282)
    • Ustawianie linii IO (283)
    • Zerowanie linii IO (283)
    • Makrodefinicja _BV() (283)
    • Użycie pól bitowych (284)
  • Synchronizator (285)
  • Przekazywanie rejestru jako parametru funkcji (286)
  • Przykłady praktyczne (287)
    • Sterowanie wyświetlaczem 7-segmentowym (287)
    • Podłączenie przycisków (290)
    • Enkoder obrotowy (294)
    • Klawiatura matrycowa (299)

Rozdział 18. Rejestry IO ogólnego przeznaczenia (303)

  • Wykorzystanie innych rejestrów jako GPIOR (305)

Rozdział 19. Przerwania (307)

    • Czym są przerwania? (307)
    • Przerwania maskowalne (308)
    • Źródła przerwań (309)
    • Wektory przerwań (311)
  • Obsługa przerwań (312)
    • Puste wektory przerwań (314)
    • Puste przerwania (314)
    • Współdzielenie kodu przez przerwania (315)
    • sei()/cli() (316)
    • Atrybut naked i obsługa przerwań w asemblerze (317)
    • Modyfikator volatile (319)
    • Atomowość dostępu do danych (324)
    • Funkcje reentrant (327)
  • Przykłady praktyczne (328)
    • Wyświetlanie multipleksowane (329)
    • Wyświetlanie multipleksowane z regulacją jasności wyświetlacza (333)
    • Obsługa przycisków (336)
    • Obsługa enkodera (339)
    • Klawiatura matrycowa (340)

Rozdział 20. Timery (343)

  • Sygnał taktujący (344)
    • Wewnętrzny sygnał taktujący (344)
    • Zewnętrzny sygnał taktujący (345)
  • Licznik (346)
  • Układ porównujący (346)
    • Wpływ na piny IO (347)
  • Moduł przechwytywania zdarzeń zewnętrznych (348)
    • Eliminacja szumów (349)
    • Komparator jako wyzwalacz zdarzenia ICP (349)
  • Tryby pracy timera (349)
    • Tryb prosty (349)
    • Tryb CTC (352)
    • Tryby PWM (353)
    • Układ ochronny (358)
    • Modulator sygnału wyjściowego (359)
  • Miernik częstotliwości i wypełnienia (360)

Rozdział 21. RTC - czyli trochę o zegarach (365)

    • Realizacja sprzętowa (366)
    • Realizacja programowa (366)
  • Czas drogą radiową, czyli DCF77 (369)
    • Trochę więcej o DCF77 (369)
    • Dekodowanie danych (370)
    • Funkcje konwersji czasu (372)
    • Moduł odbiornika DCF77 (372)

Rozdział 22. Komparator (379)

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

Rozdział 23. Przetwornik analogowo-cyfrowy (383)

  • Wybór napięcia referencyjnego (384)
  • Co to jest LSB? (385)
  • Kalibracja ADC (386)
  • Nadpróbkowanie (387)
    • Uśrednianie (388)
    • Decymacja i interpolacja (389)
  • Jak zwiększyć precyzję pomiarów? (389)
  • Multiplekser (390)
  • Blokowanie pinów cyfrowych (391)
  • Przetwornik ADC (392)
    • Tryb pojedynczej konwersji (393)
    • Tryb ciągłej konwersji (393)
  • Wejścia pojedyncze i różnicowe (394)
  • Wynik (395)
  • Wyzwalacze (395)
  • Przerwania ADC (396)
  • Precyzyjne pomiary przy pomocy ADC (397)
  • Przykłady (399)
    • Termometr analogowy LM35 (399)
    • Klawisze (401)

Rozdział 24. Obsługa alfanumerycznych wyświetlaczy LCD (407)

  • Obsługa wyświetlaczy alfanumerycznych (408)
    • Funkcje biblioteczne (413)
    • Definiowanie własnych znaków (418)
  • Transakcyjna obsługa LCD (420)
    • Przykład - menu (430)

Rozdział 25. Monochromatyczne wyświetlacze graficzne (439)

  • Wizyta w muzeum, czyli wyświetlacze wykorzystujące KS0108 (441)
  • Moduły wykorzystujące kontroler ST7565R (450)
  • Budowa i funkcje kontrolera ST7565R (451)
  • Funkcje specjalne kontrolera (457)
    • Obracanie obrazu (457)
    • Regulacja kontrastu (458)
    • Numer pierwszej wyświetlanej linii (459)
  • Czcionki (460)
  • Mała optymalizacja (465)
  • Podwójne buforowanie (467)
    • Adres początku wyświetlania obrazu (468)
  • Menu (469)
    • Menu oparte na piktogramach (471)

Rozdział 26. Interfejs USART (477)

  • Interfejsy szeregowe (477)
  • Interfejs USART (478)
  • Format transmisji danych (480)
  • Interfejs USART mikrokontrolera AVR (482)
    • Szybkość transmisji (482)
    • Dobór kwarcu (484)
    • Formaty ramek danych (484)
    • Nadajnik i odbiornik USART (485)
  • Kontrola poprawności danych (486)
  • USART z Xplained Mini (487)
  • Terminal (487)
  • Wykorzystanie przerwań (488)
  • Równoczesny dostęp do USART z wielu "wątków" (493)
  • Dostęp do USART z wykorzystaniem strumieni (495)
    • Metoda get (496)
    • Metoda put (496)
    • Otwieranie strumienia (497)
  • Połączenie mikrokontroler - mikrokontroler (498)
    • Tryb synchroniczny pracy USART (499)
  • RS485 (504)
  • Tryb MPCM (506)
    • Komputer w charakterze urządzenia master MPCM (509)

Rozdział 27. Interfejs SPI (511)

  • Inicjalizacja interfejsu (513)
    • Ustawienie pinów IO (514)
    • Zegar taktujący (516)
    • Procesor w trybie Master SPI (516)
    • Procesor w trybie slave SPI (516)
  • Przykłady (517)
    • Połączenie AVR - AVR (517)
    • Połączenie AVR - rejestr szeregowy (522)
  • Interfejs USART w trybie SPI (526)
    • Taktowanie magistrali SPI (527)
    • Tryb pracy SPI (528)
    • Format ramki danych (528)
    • Konfiguracja interfejsu (528)

Rozdział 28. Interfejs TWI (531)

  • Tryb multimaster (534)
  • Inicjalizacja interfejsu (535)
  • Mikrokontroler w trybie I2C master (535)
    • Bity START i STOP (535)
    • Podstawowe funkcje do współpracy z I2C (536)
    • Współpraca z zewnętrzną pamięcią EEPROM (539)
    • Współpraca z zewnętrzną pamięcią FRAM (544)
    • Umieszczanie zmiennych w zewnętrznej pamięci EEPROM (545)
    • Współpraca z zegarem RTC (547)
    • Obsługa ekspandera IO PCF8574 (551)
  • Procesor w trybie I2C slave (552)
    • Przykład (555)

Rozdział 29. Interfejs USI (563)

  • 4-bitowy licznik i zegar (563)
  • Przerwania USI (564)
  • Zmiana pozycji pinów (565)
  • Wykorzystanie interfejsu USI w trybie SPI (566)
    • Tryb SPI master (566)
    • Tryb SPI slave (567)

Rozdział 30. Interfejs 1-wire (569)

  • Realizacja master 1-wire na AVR (572)
    • Realizacja master 1-wire przy pomocy pinów IO (573)
    • Realizacja master 1-wire przy pomocy interfejsu UART (576)
    • Wysokopoziomowe funkcje obsługi 1-wire (581)
  • Termometr cyfrowy DS1820 (584)

Rozdział 31. Dużo LED-ów, dużo zabawy (587)

  • Matryce LED (587)
    • Projekt PCB i zasilanie (588)
    • Układ z matrycą dwukolorową (590)
    • Sterowanie matrycą (591)
  • Sterownik WS2812B (593)
    • Zasilanie (595)
    • Bit banging (596)
    • Wykorzystanie SPI (597)

Rozdział 32. Piloty TV (601)

  • Część sprzętowa, czyli odbiornik IR (603)
  • Część programowa, czyli standardy kodowania (604)
    • Standard NEC i pokrewne (604)
  • RC5 (610)
    • Kod Manchester (610)
    • Dekoder RC5 (611)
    • Inne standardy kodowania (615)

Rozdział 33. Łączenie kodu C i asemblera (617)

  • ABI (618)
  • Słowo kluczowe asm (621)
    • Typy operandów (623)
    • Dostęp do portów IO (625)
    • Dostęp do danych wielobajtowych (626)
    • Dostęp do wskaźników (627)
    • Lista modyfikowanych rejestrów (627)
    • Wielokrotne użycie wstawki asemblerowej (628)
  • Pliki .S (629)
    • Definicje (630)
    • Definicja symboli globalnych (630)
    • Dyrektywy asemblera (635)
    • Wywołanie funkcji języka C z asemblera (637)

Rozdział 34. Bootloader (639)

  • Pamięć NRWW i RWW (640)
  • Bity konfiguracyjne bootloadera (641)
    • Konfiguracja lockbitów z poziomu aplikacji (642)
  • Programowanie pamięci FLASH (643)
  • Wykorzystanie przerwań w kodzie bootloadera (645)
    • Usuwanie tablicy wektorów przerwań (645)
    • Skrócenie tablicy wektorów przerwań (647)
  • Start bootloadera (650)
    • Wykorzystanie dodatkowego przycisku/zworki (650)
    • Wykorzystanie markerów w pamięci EEPROM (651)
    • Oczekiwanie na specjalny znak w wybranym kanale komunikacji (652)
    • Start aplikacji (652)
  • Współdzielenie kodu aplikacji i bootloadera (653)
    • Wywoływanie funkcji bootloadera w procesorach ATMega256x (655)
    • Wywoływanie funkcji obsługi przerwań zawartych w kodzie bootloadera (658)
    • Współdzielenie zmiennych pomiędzy aplikacją a bootloaderem (658)

Rozdział 35. Debugowanie programu (661)

  • Konfiguracja debuggera (663)
  • Konfiguracja projektu do debugowania (664)
  • Debugger sprzętowy (665)
  • Debugger programowy (symulator) (667)
    • Plik stymulacji (668)
  • Pułapki (674)
    • Pułapki na dane (678)
    • Punkty śledzenia (679)
    • Pułapki warunkowe (681)
  • Podgląd pamięci (683)
  • Podgląd stosu wywołań (684)
  • Określenie czasu symulacji (684)
  • Okno dezasemblera (685)
  • Okno podglądu zmiennych (686)
    • Łańcuchy formatujące (687)
  • Makrodefinicja ASSERT (688)
  • Przerwania w trakcie debugowania (692)
  • _delay_xx i symulator (693)

Skorowidz (695)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-0868-8
Rozmiar pliku: 9,1 MB

BESTSELLERY

Kategorie: