Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Hardware

AVR. Praktyczne projekty Język: 1

978-83-246-7877-8

Cena Brutto: 99.00

Cena netto: 94.29

Ilość:
Wersja: Drukowana
Autor Tomasz Francuz
Liczba_stron 632
Wydawnictwo Helion
Oprawa miękka
Data_Wydania 2013-09-05

AVR

Praktyczne projekty

Z książką poznaj mikrokontrolery AVR z rodziny XMEGA, znajdziesz dla nich zastosowanie i zdobędziesz wiedzę potrzebną do ich programowania w C.

Dzięki niskiej cenie, dużej wydajności obliczeniowej, prostocie w obsłudze układy AVR zyskały rzeszę fanów. Dzięki darmowym narzędziom można te układy programować, szczególnie te należące do rodziny XMEGA,


Autor w książce omawia problematykę związaną z programowaniem mikrokontrolerów XMEGA, z uwzględnieniem modułów, które nie występują w układach należących do innych rodzin AVR.


Książka omawia:

  • sposoby programowania mikrokontrolerów
  • architekturę układów AVR XMEGA
  • budowanie projektów i zarządzanie nimi
  • jak pisać efektywny kodu
  • wykorzystywać różne typów danych
  • wykonywanie operacji wejścia-wyjścia i sterowanie urządzeniami zewnętrznymi
  • zarządzanie pamięcią mikrokontrolera
  • obsługę przerwań i system zdarzeń
  • wykorzystywanie timerów i liczników i sterowanie pracą zegara
  • praktyczne przykłady gdzie można zastosować mikrokontrolerów

Pragniemy Państwa zapewnić, iż dokładamy wszelkich możliwych starań, by opisy książek i podręczników, zawarte na naszych stronach internetowych, zawierały bieżące i wiarygodne materiały. Może jednak, mimo naszych wysiłków, w opisy książek wkraść się przekłamanie z naszej strony niezamierzone. Nie może to stanowić powodu do roszczeń. O ile macie Państwo jakiekolwiek pytania lub wątpliwości - prosimy o kontakt z działem handlowym. Tam nasi specjaliści postarają się odpowiedzieć na wszystkie Państwa pytania zanim podejmiecie Państwo decyzje o złożeniu zamówienia.

#

Rozdział 1. Wstęp, czyli nowi członkowie rodziny AVR (11)
  • Przykłady do książki (12)
  • Mikrokontrolery XMEGA (12)
    • Errata (14)
  • XMEGA a inne AVR-y (15)
    • Kompilator (15)
    • Nowe peryferia (16)
Rozdział 2. Jak zacząć, czyli instalacja środowiska (21)
  • Xplained jako płyta rozwojowa (22)
    • Instalacja Xplained w systemie (22)
    • Instalacja XMEGA z bootloaderem klasy DFU (25)
  • Programowanie układów XMEGA (25)
    • Wczytywanie firmware za pomocą FLIP (26)
    • Bootloader firmy Atmel (28)
    • Podstawowe opcje programu batchisp (28)
    • Interfejs JTAG (32)
    • Programowanie z wykorzystaniem interfejsu PDI (34)
  • Programatory (34)
    • AVRISP mkII (35)
    • JTAGICE mkII (35)
    • JTAGICEIII (36)
    • AVROne! (36)
    • AVR Dragon (36)
  • Programowanie i debugowanie procesorów XMEGA (43)
  • Odsprzęganie zasilania (44)
  • Instalacja potrzebnego oprogramowania (44)
    • Atmel Studio 6 - podstawy (45)
  • Programowanie z poziomu AS6 - dlaczego warto korzystać z plików w formacie elf (53)
Rozdział 3. Organizacja i zarządzanie projektem (55)
  • Komentarze (55)
  • Nazewnictwo (57)
    • Literały (59)
  • Podział kodu na pliki (61)
    • Widoczność funkcji (66)
    • Widoczność zmiennych (66)
    • Podkatalogi (67)
    • Podział funkcji (69)
  • Zmienne globalne (70)
  • Systemy wersjonowania (74)
    • Serwer SVN na własnym komputerze (75)
    • Jak korzystać z SVN (78)
    • Praca z SVN (81)
    • Uwagi końcowe (84)
  • Inne ułatwienia (85)
  • Jak pisać lepsze programy? (86)
Rozdział 4. Jak tworzyć lepszy i efektywniejszy kod (89)
  • Włączenie optymalizacji (90)
  • Długość typów (91)
  • Zmienne globalne i zmienne lokalne (93)
  • Modyfikator register (94)
  • Użycie globalnych rejestrów ogólnego przeznaczenia (97)
    • Wykorzystanie innych rejestrów jako GPIOR (99)
  • Inicjalizacja zmiennych globalnych (99)
  • Położenie zmiennych w pamięci (99)
  • Optymalizacja pętli (100)
  • Optymalizacja funkcji (101)
    • Optymalizacja funkcji main (101)
    • Optymalizacja prologów i epilogów funkcji (101)
    • Optymalizacja przekazywania parametrów funkcji (102)
    • Optymalizacja zwracania wyników funkcji (105)
    • Dodatkowe atrybuty funkcji (106)
    • Inne (110)
  • Eliminacja martwego kodu (111)
  • Konstruktory i destruktory (114)
Rozdział 5. Jak uporządkować chaos, czyli złożone typy danych i listy (117)
  • Tablice (118)
  • Struktury (119)
    • Deep copy i shallow copy (123)
    • Wskaźniki i struktury (126)
    • Struktury anonimowe (127)
    • Inicjalizacja pól struktury (128)
    • Unie (129)
    • Pola bitowe (130)
    • Struktury a optymalizacja programu (131)
  • Listy (135)
    • Listy jednokierunkowe (136)
    • Listy dwukierunkowe (140)
    • Listy XOR (142)
  • Bufory (148)
    • Bufor pierścieniowy (149)
    • Kolejki FIFO/LIFO (152)
    • Stos (152)
Rozdział 6. Koniec bałaganu, czyli o nazwach rejestrów i układów peryferyjnych (155)
  • Struktury opisujące mikrokontrolery XMEGA (159)
  • Nazwy rejestrów (162)
  • Nazwy bitów (162)
Rozdział 7. Lepiej i prościej, czyli porty IO procesora na sterydach (167)
  • Piny wejściowe i wyjściowe (168)
  • Konwersja poziomów logicznych pomiędzy układami pracującymi z różnymi napięciami zasilającymi (171)
    • Łączenie wyjścia procesora z układem pracującym z napięciem 5 V (171)
    • Zastosowanie aktywnego konwertera (174)
    • Konwersja z napięcia wyższego na niższe (174)
    • Dzielnik rezystorowy (176)
    • Użycie do konwersji napięć buforów scalonych (177)
    • Bufor dwukierunkowy stosowany w magistralach typu open drain (178)
  • Kontrola nad portami procesora (181)
  • Piny wejściowe i wyjściowe (182)
  • Synchronizator (184)
  • Konfiguracja sterownika pinu (186)
    • Konfiguracja totem-pole (186)
    • Konfiguracja Pull up/down (187)
    • Konfiguracja bus keeper (188)
    • Konfiguracja wired-AND (189)
    • Konfiguracja wired-OR (191)
    • Odwracanie wyjść IO (192)
    • Kontrola szybkości opadania i narastania zboczy (193)
    • Kontrola zdarzeń związanych z pinem (193)
    • Rejestr kontrolny portu (194)
  • Atomowa modyfikacja stanu pinów i wsparcie dla RMW (196)
  • Alternatywne funkcje pinu (199)
  • Porty wirtualne (200)
  • Przekazywanie rejestru jako parametru funkcji (202)
  • Remapowanie wyjść IO (203)
Rozdział 8. Kontroler NVM - jak prosto i przyjemnie dobrać się do pamięci (205)
  • Pamięć EEPROM i związane z nią operacje (206)
    • Dostęp do EEPROM z poziomu AVR-libc (208)
    • Dostęp do EEPROM za pomocą bezpośredniego dostępu do kontrolera NVM (213)
  • Techniki wear leveling (219)
    • Rozdzielenie kasowania i zapisu pamięci (221)
    • Dostęp do EEPROM z wykorzystaniem tokenów (224)
    • EEPROM i awaria zasilania (232)
    • Problem atomowości przy dostępie do EEPROM (244)
    • Zapis do EEPROM z użyciem przerwań (244)
  • Zapobieganie uszkodzeniu zawartości pamięci EEPROM (246)
  • Dostęp do pamięci FLASH (246)
    • Typy danych związane z pamięcią FLASH (248)
    • Odczyt danych z pamięci FLASH (250)
  • Dostęp do FLASH w kompilatorze avr-gcc 4.7 i wyższych - named address spaces (252)
    • Wskaźniki wykorzystujące przestrzenie adresowe (254)
  • Typy 24-bitowe (258)
Rozdział 9. Potrzebuję więcej mocy - słów kilka o konfiguracji zegara (259)
  • Rejestry kontrolne zegarów (260)
  • Konfiguracja zegara (262)
    • Źródła zegara (263)
    • Odblokowywanie źródła zegara (270)
    • Układ PLL (270)
    • DFLL (272)
    • Układ monitorowania zegara zewnętrznego (275)
    • Zmiana źródła zegara i jego częstotliwości (277)
    • Blokowanie ustawień zegara (277)
    • Preskalery zegara (278)
  • Uwagi (281)
    • Kondensatory odsprzęgające (282)
Rozdział 10. Przerwania i kontroler przerwań (285)
  • Przerwania (285)
    • Czym są przerwania? (285)
    • Przerwania maskowalne (286)
    • Przerwania niemaskowalne (287)
    • Źródła przerwań (287)
  • Konfiguracja i obsługa przerwań (288)
    • Czas odpowiedzi na żądanie przerwania (288)
    • Funkcja obsługi przerwania (289)
    • Wektory przerwań (290)
    • Puste wektory przerwań (292)
    • Puste przerwania (293)
    • Współdzielenie kodu przez przerwania (294)
    • Atrybut naked i obsługa przerwań w asemblerze (295)
    • Poziomy przerwań (297)
    • Przerywanie przerwań (300)
  • Priorytety przerwań (302)
    • Priorytet dynamiczny (302)
    • Globalna flaga zezwolenia na przerwanie (303)
  • Przerwanie niemaskowalne (304)
  • Rejestr stanu kontrolera przerwań (304)
  • Modyfikator volatile (305)
    • Zmiana kolejności instrukcji (307)
  • Atomowość dostępu do danych (308)
    • Instrukcje atomowej modyfikacji pamięci (311)
    • Dostęp do wielobajtowych rejestrów IO (314)
  • Funkcje reentrant (314)
  • Rejestry IO ogólnego przeznaczenia (316)
Rozdział 11. System zdarzeń (319)
  • Rejestr multipleksera kanału zdarzeń (320)
  • Zaawansowane funkcje kanału zdarzeń (322)
    • Filtr cyfrowy (322)
    • Dekoder kwadraturowy (322)
    • Enkoder kwadraturowy z indeksem (331)
    • Programowe sterowanie zdarzeniami (332)
  • Zdarzenia jako sygnały sterujące układami zewnętrznymi (333)
    • Inne funkcje rejestru (334)
Rozdział 12. Timery i liczniki (337)
  • Co to jest licznik? (337)
  • Źródła zegara i preskaler (338)
  • Typy i funkcje liczników (340)
    • Licznik typu 0/1 (341)
  • Piny wyjściowe licznika (350)
    • Licznik typu 2 (351)
    • Timery typu 4/5 (353)
  • Buforowanie (354)
  • Kontrola nad licznikiem (357)
  • Kaskadowe łączenie liczników (358)
  • Rejestr tymczasowy TEMP (359)
  • Wykorzystanie PWM do generowania sygnałów analogowych (361)
    • Przykład - generowanie napięcia o zmiennej amplitudzie (363)
    • Przykład - generowanie dowolnego przebiegu (364)
    • PWM i przerwania (369)
    • A może DMA? (371)
  • Rozszerzenie zwiększające rozdzielczość (374)
    • Tryb HiRes dla licznika typu 2 (377)
Rozdział 13. Kontroler DMA (379)
  • Przesyłanie pamięć-pamięć (383)
    • Odwracanie danych (384)
    • Przesyłanie nakładających się bloków pamięci (385)
    • Wypełnianie pamięci wzorcem (388)
  • Przesyłanie pamięć-rejestr IO (389)
  • Wyzwalacze (392)
  • Praca buforowa (395)
  • Priorytety kanałów DMA (396)
  • Przerwania DMA (397)
    • Błąd transmisji DMA (397)
    • Przerwanie końca transakcji (398)
Rozdział 14. LED-y - co z nich można wycisnąć? (399)
  • Taśmy LED-owe (399)
    • Trochę o właściwościach oka, czyli RGB w praktyce (403)
    • Program sterujący (404)
  • Wyświetlacze LED 7-segmentowe (407)
    • Licznik LED (412)
  • Matryce LED (416)
    • Projekt PCB i zasilanie (421)
    • Dobór napięcia zasilającego matrycę (422)
    • Regulacja prądu diod (423)
    • Układ z matrycą dwukolorową (423)
    • Sterowanie matrycą (425)
    • PWM inaczej, czyli jak uzyskać odcienie kolorów (433)
Rozdział 15. Układy zegarowe w praktyce (437)
  • RTC czy... RTC? (438)
  • 16-bitowy układ RTC (438)
    • Synchronizacja dostępu do rejestrów RTC (441)
    • Rejestry PER i COMP (442)
    • RTC w trybie uśpienia (445)
  • 32-bitowy układ RTC (445)
    • Generator sygnału zegarowego (445)
    • Rejestry PER i COMP (445)
    • Rejestr CNT (446)
  • Przykładowy program kalendarzowy (446)
    • Linuksowy marker czasowy (447)
    • Konwersja czasu (447)
  • Czas drogą radiową, czyli DCF77 (451)
    • Trochę więcej o DCF77 (452)
    • Dekodowanie danych (454)
    • Moduł odbiornika DCF77 (454)
    • Przykład (455)
  • Układ podtrzymywania zasilania (462)
    • Dobór źródła zasilania awaryjnego (463)
    • Wykorzystanie baterii (463)
    • Superkondensatory (463)
    • Akumulatory (464)
    • Podtrzymanie zasilania dla całego procesora (465)
    • Układ zapasowego zasilania bateryjnego (465)
Rozdział 16. Budujemy zegar z budzikiem, czyli skończona maszyna stanów w praktyce (469)
  • FSM oparta na switch/case (471)
  • FSM oparta na tablicach (474)
  • Zegar z alarmem (477)
  • Jeszcze o maszynach stanu (489)
Rozdział 17. Komunikacja na różne sposoby, czyli USART w praktyce (491)
  • Elektryczna realizacja interfejsu USART (492)
  • Format transmisji danych (494)
  • Szybkość transmisji (496)
    • Terminal (496)
    • Podgląd transmisji danych (497)
  • Wirtualny port szeregowy (499)
  • Konfiguracja interfejsu (500)
    • Konfiguracja pinów IO (501)
    • Konfiguracja formatu ramki danych (502)
    • Funkcje dodatkowe interfejsu (502)
    • Ustawienie szybkości interfejsu (503)
    • Kontrola poprawności danych (508)
  • Transmisja danych (509)
    • Realizacja transmisji przez pooling (509)
    • Wykorzystanie przerwań (512)
    • Wykorzystanie DMA (517)
    • Równoczesny dostęp do USART z wielu "wątków" (525)
  • Dostęp do USART z wykorzystaniem strumieni (527)
    • Metoda get (528)
    • Metoda put (528)
    • Otwieranie strumienia (529)
  • Tryb MPCM (530)
Rozdział 18. Wizualizacja danych (535)
  • Atmel Data Visualizer (535)
    • Format danych (537)
    • Struktury wykorzystywane przez ADV (540)
  • Ultradźwiękowy pomiar odległości (543)
    • Moduły cyfrowe (544)
    • Własny moduł (548)
  • Budujemy analizator stanów logicznych (550)
    • Sprzęt (551)
    • Protokół komunikacji (553)
    • Implementacja protokołu (555)
    • Jak szybko próbkować? (560)
    • Klient (564)
    • Uwagi praktyczne (566)
Rozdział 19. Wykorzystanie podczerwieni do transmisji danych (569)
  • Modulacja IR (570)
  • Porozmawiajmy z pilotem TV (572)
    • Część sprzętowa, czyli odbiornik IR (572)
    • Część programowa, czyli standardy kodowania (574)
    • Standard NEC i pokrewne (575)
    • RC5 i Motorola (581)
    • Kod RC5 (587)
    • Inne standardy kodowania (592)
  • Nadajnik IR (592)
    • Inżynieria odwrotna - dekodujemy sygnał pilota aparatu Canon (595)
  • Transmisja danych (597)
    • Budujemy pakiet danych (600)
  • Sprzętowy generator CRC (602)
    • CRC liczone programowo (604)
  • Transmisja pakietowa (605)
  • Uniwersalny pilot (608)
  • Interfejs IrDA i IRCOM (613)
Skorowidz (615)
powrót
 
Produkty Podobne
Elektronika i internet rzeczy. Przewodnik dla ludzi z prawdziwą pasją
Sterowanie pneumatyczne i elektropneumatyczne
SIMATIC Motion Control - sterowanie serwonapędami. Teoria. Aplikacje. Ćwiczenia
Stykowe elektryczne układy sterowania
Arduino dla początkujących. Kolejny krok. Wydanie II
Encyklopedia elementów elektronicznych. Tom 1. Rezystory, kondensatory, cewki indukcyjne, przełączniki, enkodery, przekaźniki i tranzystory
Encyklopedia elementów elektronicznych. Tom 2. Tyrystory, układy scalone, układy logiczne, wyświetlacze, LED-y i przetworniki akustyczne
Komercyjne i przemysłowe aplikacje Internetu rzeczy na Raspberry Pi. Prototypowanie rozwiązań IoT
Raspberry Pi. Receptury. Wydanie III
Uczenie maszynowe na Raspberry Pi. Eksperymentowanie z danymi i rozpoznawaniem obrazów
Więcej produktów