Rozdział 1. Wstęp, czyli nowi członkowie rodziny AVR (11)

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

Wstęp Architektura... 13

2. Architektura mikrokontrolerów PIC16F8x... 13

System mikroprocesorowy i peryferia. Dariusz Chaberski

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

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

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

Szkolenia specjalistyczne

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

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

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

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

E-TRONIX Sterownik Uniwersalny SU 1.2

Mikrokontrolery AVR i ARM : sterowanie wyświetlaczami LCD / Tomasz Francuz. Gliwice, cop Spis treści

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

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

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

dokument DOK wersja 1.0

MultiTool instrukcja użytkownika 2010 SFAR

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

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

Technika Mikroprocesorowa

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

Architektura komputerów. Układy wejścia-wyjścia komputera

2. Budowa układów procesorowych rodziny TMS320C

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Działanie systemu operacyjnego

Działanie systemu operacyjnego

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

Zastosowania mikrokontrolerów w przemyśle

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

MCAR Robot mobilny z procesorem AVR Atmega32

Elektronika z wykorzystaniem Arduino i Raspberry Pi : receptury / Simon Monk. Gliwice, copyright Spis treści. Przedmowa 11

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

WPROWADZENIE Mikrosterownik mikrokontrolery

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

Instytut Teleinformatyki

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Systemy wbudowane. Paweł Pełczyński

Wykład Mikroprocesory i kontrolery

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

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

MIKROKONTROLERY I MIKROPROCESORY

Projektowanie urządzeń mikroprocesorowych cz. 2 Wykład 4

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Kurs Zaawansowany S7. Spis treści. Dzień 1

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

Działanie systemu operacyjnego

HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

Wbudowane układy peryferyjne cz. 1 Wykład 7

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

Metody obsługi zdarzeń

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

Wbudowane układy peryferyjne cz. 3 Wykład 9

Urządzenia wejścia-wyjścia

O autorze... 9 Wprowadzenie... 11

Wyjścia analogowe w sterownikach, regulatorach

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Działanie systemu operacyjnego

Wbudowane układy komunikacyjne cz. 1 Wykład 10

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Przerwania, polling, timery - wykład 9

Architektura komputerów

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

Architektura systemów komputerowych. dr Artur Bartoszewski

SML3 październik

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

Układy czasowo-licznikowe w systemach mikroprocesorowych

Układy zegarowe w systemie mikroprocesorowym

USB AVR JTAG. Instrukcja obsługi rev.1.0. Copyright 2011 SIBIT

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

NX700 PLC

Programowanie mikrokontrolerów 2.0

Wstęp Podstawowe informacje o mikroprocesorach AT91SAM9...11

VamsterL. Opis sterownika. wersja 1.0

Mikrokontroler AVR ATmega32 - wykład 9

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

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

Scalony analogowy sterownik przekształtników impulsowych MCP1630

Kurs Podstawowy S7. Spis treści. Dzień 1

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Projektowanie Systemów Wbudowanych

TRD-MINI COMBO. Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM. Podstawowe cechy :

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Moduł prototypowy.. Leon Instruments. wersja 1.0

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Transkrypt:

Rozdział 1. Wstęp, czyli nowi członkowie rodziny AVR (11) Przykłady do książki (12) Mikrokontrolery XMEGA (12) o Errata (14) XMEGA a inne AVR-y (15) o Kompilator (15) o Nowe peryferia (16) Rozdział 2. Jak zacząć, czyli instalacja środowiska (21) Xplained jako płyta rozwojowa (22) o Instalacja Xplained w systemie (22) o Instalacja XMEGA z bootloaderem klasy DFU (25) Programowanie układów XMEGA (25) o Wczytywanie firmware za pomocą FLIP (26) o Bootloader firmy Atmel (28) o Podstawowe opcje programu batchisp (28) o Interfejs JTAG (32) o Programowanie z wykorzystaniem interfejsu PDI (34) Programatory (34) o AVRISP mkii (35) o JTAGICE mkii (35) o JTAGICEIII (36) o AVROne! (36) o AVR Dragon (36) Programowanie i debugowanie procesorów XMEGA (43) Odsprzęganie zasilania (44) Instalacja potrzebnego oprogramowania (44) o 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) o Literały (59) Podział kodu na pliki (61) o Widoczność funkcji (66) o Widoczność zmiennych (66) o Podkatalogi (67) o Podział funkcji (69) Zmienne globalne (70) Systemy wersjonowania (74) o Serwer SVN na własnym komputerze (75) o Jak korzystać z SVN (78) o Praca z SVN (81) o 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) o 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) o Optymalizacja funkcji main (101) o Optymalizacja prologów i epilogów funkcji (101) o Optymalizacja przekazywania parametrów funkcji (102) o Optymalizacja zwracania wyników funkcji (105) o Dodatkowe atrybuty funkcji (106) o 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) o Deep copy i shallow copy (123) o Wskaźniki i struktury (126) o Struktury anonimowe (127) o Inicjalizacja pól struktury (128) o Unie (129) o Pola bitowe (130) o Struktury a optymalizacja programu (131) Listy (135) o Listy jednokierunkowe (136) o Listy dwukierunkowe (140) o Listy XOR (142) Bufory (148) o Bufor pierścieniowy (149) o Kolejki FIFO/LIFO (152) o 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) o Łączenie wyjścia procesora z układem pracującym z napięciem 5 V (171) o Zastosowanie aktywnego konwertera (174) o Konwersja z napięcia wyższego na niższe (174) o Dzielnik rezystorowy (176) o Użycie do konwersji napięć buforów scalonych (177) o 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) o Konfiguracja totem-pole (186) o Konfiguracja Pull up/down (187) o Konfiguracja bus keeper (188) o Konfiguracja wired-and (189) o Konfiguracja wired-or (191) o Odwracanie wyjść IO (192) o Kontrola szybkości opadania i narastania zboczy (193) o Kontrola zdarzeń związanych z pinem (193) o 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) o Dostęp do EEPROM z poziomu AVR-libc (208) o Dostęp do EEPROM za pomocą bezpośredniego dostępu do kontrolera NVM (213) Techniki wear leveling (219) o Rozdzielenie kasowania i zapisu pamięci (221) o Dostęp do EEPROM z wykorzystaniem tokenów (224) o EEPROM i awaria zasilania (232) o Problem atomowości przy dostępie do EEPROM (244) o Zapis do EEPROM z użyciem przerwań (244) Zapobieganie uszkodzeniu zawartości pamięci EEPROM (246) Dostęp do pamięci FLASH (246) o Typy danych związane z pamięcią FLASH (248) o Odczyt danych z pamięci FLASH (250) Dostęp do FLASH w kompilatorze avr-gcc 4.7 i wyższych - named address spaces (252) o 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) o Źródła zegara (263) o Odblokowywanie źródła zegara (270) o Układ PLL (270) o DFLL (272) o Układ monitorowania zegara zewnętrznego (275) o Zmiana źródła zegara i jego częstotliwości (277) o Blokowanie ustawień zegara (277) o Preskalery zegara (278) Uwagi (281) o Kondensatory odsprzęgające (282) Rozdział 10. Przerwania i kontroler przerwań (285) Przerwania (285) o Czym są przerwania? (285) o Przerwania maskowalne (286) o Przerwania niemaskowalne (287) o Źródła przerwań (287) Konfiguracja i obsługa przerwań (288) o Czas odpowiedzi na żądanie przerwania (288) o Funkcja obsługi przerwania (289) o Wektory przerwań (290) o Puste wektory przerwań (292) o Puste przerwania (293) o Współdzielenie kodu przez przerwania (294) o Atrybut naked i obsługa przerwań w asemblerze (295) o Poziomy przerwań (297) o Przerywanie przerwań (300) Priorytety przerwań (302) o Priorytet dynamiczny (302) o Globalna flaga zezwolenia na przerwanie (303) Przerwanie niemaskowalne (304) Rejestr stanu kontrolera przerwań (304) Modyfikator volatile (305) o Zmiana kolejności instrukcji (307) Atomowość dostępu do danych (308) o Instrukcje atomowej modyfikacji pamięci (311) o 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) o Filtr cyfrowy (322) o Dekoder kwadraturowy (322) o Enkoder kwadraturowy z indeksem (331) o Programowe sterowanie zdarzeniami (332) Zdarzenia jako sygnały sterujące układami zewnętrznymi (333)

o 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) o Licznik typu 0/1 (341) Piny wyjściowe licznika (350) o Licznik typu 2 (351) o 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) o Przykład - generowanie napięcia o zmiennej amplitudzie (363) o Przykład - generowanie dowolnego przebiegu (364) o PWM i przerwania (369) o A może DMA? (371) Rozszerzenie zwiększające rozdzielczość (374) o Tryb HiRes dla licznika typu 2 (377) Rozdział 13. Kontroler DMA (379) Przesyłanie pamięć-pamięć (383) o Odwracanie danych (384) o Przesyłanie nakładających się bloków pamięci (385) o 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) o Błąd transmisji DMA (397) o Przerwanie końca transakcji (398) Rozdział 14. LED-y - co z nich można wycisnąć? (399) Taśmy LED-owe (399) o Trochę o właściwościach oka, czyli RGB w praktyce (403) o Program sterujący (404) Wyświetlacze LED 7-segmentowe (407) o Licznik LED (412) Matryce LED (416) o Projekt PCB i zasilanie (421) o Dobór napięcia zasilającego matrycę (422) o Regulacja prądu diod (423) o Układ z matrycą dwukolorową (423) o Sterowanie matrycą (425) o 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) o Synchronizacja dostępu do rejestrów RTC (441) o Rejestry PER i COMP (442) o RTC w trybie uśpienia (445) 32-bitowy układ RTC (445) o Generator sygnału zegarowego (445) o Rejestry PER i COMP (445) o Rejestr CNT (446) Przykładowy program kalendarzowy (446) o Linuksowy marker czasowy (447) o Konwersja czasu (447) Czas drogą radiową, czyli DCF77 (451) o Trochę więcej o DCF77 (452) o Dekodowanie danych (454) o Moduł odbiornika DCF77 (454) o Przykład (455) Układ podtrzymywania zasilania (462) o Dobór źródła zasilania awaryjnego (463) o Wykorzystanie baterii (463) o Superkondensatory (463) o Akumulatory (464) o Podtrzymanie zasilania dla całego procesora (465) o 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) o Terminal (496) o Podgląd transmisji danych (497) Wirtualny port szeregowy (499) Konfiguracja interfejsu (500) o Konfiguracja pinów IO (501) o Konfiguracja formatu ramki danych (502) o Funkcje dodatkowe interfejsu (502) o Ustawienie szybkości interfejsu (503) o Kontrola poprawności danych (508) Transmisja danych (509) o Realizacja transmisji przez pooling (509)

o Wykorzystanie przerwań (512) o Wykorzystanie DMA (517) o Równoczesny dostęp do USART z wielu "wątków" (525) Dostęp do USART z wykorzystaniem strumieni (527) o Metoda get (528) o Metoda put (528) o Otwieranie strumienia (529) Tryb MPCM (530) Rozdział 18. Wizualizacja danych (535) Atmel Data Visualizer (535) o Format danych (537) o Struktury wykorzystywane przez ADV (540) Ultradźwiękowy pomiar odległości (543) o Moduły cyfrowe (544) o Własny moduł (548) Budujemy analizator stanów logicznych (550) o Sprzęt (551) o Protokół komunikacji (553) o Implementacja protokołu (555) o Jak szybko próbkować? (560) o Klient (564) o Uwagi praktyczne (566) Rozdział 19. Wykorzystanie podczerwieni do transmisji danych (569) Modulacja IR (570) Porozmawiajmy z pilotem TV (572) o Część sprzętowa, czyli odbiornik IR (572) o Część programowa, czyli standardy kodowania (574) o Standard NEC i pokrewne (575) o RC5 i Motorola (581) o Kod RC5 (587) o Inne standardy kodowania (592) Nadajnik IR (592) o Inżynieria odwrotna - dekodujemy sygnał pilota aparatu Canon (595) Transmisja danych (597) o Budujemy pakiet danych (600) Sprzętowy generator CRC (602) o CRC liczone programowo (604) Transmisja pakietowa (605) Uniwersalny pilot (608) Interfejs IrDA i IRCOM (613) Skorowidz (615)