- Obecnie brak na stanie
Andrzej Witkowski
Książka opisuje środowisko programistyczne będące zestawem dostępnych za darmo narzędzi zbudowanym wokół avr-gcc - kompilatora GNU C dla procesorów AVR. Jest ona przeznaczona dla wszystkich, którzy tworzą lub chcą tworzyć napisane w języku C programy dla mikrokontrolerów AVR. W szczególności jest ona skierowana do studentów kierunków elektronicznych i elektrycznych oraz hobbystów budujących urządzenia z mikrokontrolerami AVR. Mogą z niej skorzystać również czytelnicy zawodowo zajmujący się programowaniem mikrokontrolerów oraz ci wszyscy, którzy programując je dotychczas w Asemblerze, chcą rozszerzyć swoje umiejętności.
Spis treści
1. Wstęp
1.1. Podstawowe informacje
1.2. Struktura książki
1.3. Źródła informacji
2. Środowisko programistyczne GNU C
2.1. Wprowadzenie
2.2. Programy składowe środowiska
2.2.1. Pakiet Gnu Binutiis
2.2.2. Pakiet GCC
2.2.3. Biblioteka avr-libc
2.2.4. Program make
2.2.5. Programatory
2.2.6. Narzędzia uruchomieniowe
2.2.7. Asemblery
2.2.8. Programy pomocnicze
2.3. Instalacja
2.3.1. System Windows
2.3.2. System Linux
2.4. Biblioteka avr-libc
2.4.1. Kod startowy
2.4.2. Definicje nazw rejestrów specjalnych i flag bitowych
2.4.3. Biblioteka matematyczna
2.4.4. Standardowa biblioteka C
2.4.5. Makra i funkcje ułatwiające korzystanie z układów peryferyjnych
2.5. Kompilator gcc
2.5.1. Zasada działania
2.5.2. Typy plików
2.5.3. Opcje
2.5.3.1. Opcje kompilatora specyficzne dla procesorów AVR
2.5.3.2. Opcje kontrolujące rodzaj wyniku
2.5.3.3. Opcje ustalające dialekt C
2.5.3.4. Opcje włączające lub wyłączające uwagi i informacje o błędach
2.5.3.5. Opcje dla debuggera
2.5.3.6. Opcje optymalizacji
2.5.3.7. Opcje dotyczące katalogów
2.5.3.8. Opcje ustalające sposób generowania kodu
2.5.3.9. Opcje preprocesora
2.5.3.10. Opcje asemblera
2.5.3.11. Opcje konsolidatora
2.5.4. Atrybuty zmiennych i funkcji
2.6. Program make
2.6.1. Zasada działania
2.6.2. Zależności
2.6.3. Zmienne
2.7. Program AVRDUDE
2.7.1. Opcje linii poleceń
2.7.2. avrdude-gui
3. Język C dla procesorów AVR
3.1. Wprowadzenie
3.2. Operacje na zmiennych i rejestrach specjalnych
3.3. Operacje na zmiennych bitowych
3.4. Zmienne volatile
3.5. Odwołania do różnych rodzajów pamięci
3.5.1. Przestrzenie adresowe
3.5.2. Pamięć EEPROM
3.5.3. Pamięć Flash
3.6. Obsługa przerwań
3.6.1. Deklaracje funkcji obsługi przerwań
3.6.2. Hierarchia przerwań
3.6.3. Korzystnie z tych samych zmiennych w przerwaniach i w programie głównym
3.6.4. Korzystanie w przerwaniach ze zmiennych globalnych
3.7. Modyfikacje kodu startowego
3.8. Asembler
3.8.1. Zasady przydzielenia rejestrów przez kompilator
3.8.2. Asembler as
3.8.2.1. Komentarze
3.8.2.2. Wyrażenia
3.8.2.3. Etykiety
3.8.2.4. Dyrektywy
3.8.2.5. Preprocesor cpp
3.8.2.6. Przykładowy kod w Asemblerze dołączany do C
3.8.3. Wstawki w Asemblerze
3.8.3.1. Instrukcja asm
3.8.3.2. Operandy
3.8.3.3. Przykłady zastosowania
4. Tworzenie programu
4.1. Podstawowe zasady
4.2. Tworzenie i kompilacja projektu
4.2.1. AVR Studio
4.2.2. Generator plików makefile Mfile
4.2.3. Szablon plików makefile z WinAVR
4.3. Przykładowy program
4.4. Kompilacja przykładowego programu
4.4.1. AVR Studio
4.4.2. Linia poleceń
4.5. Pliki projektu
5. Przykłady zastosowań
5.1. Wprowadzenie
5.2. Obsługa klawiatury matrycowej
5.2.1. Opis aplikacji
5.2.2. Implementacja
5.3. Wymiana danych przez interfejs szeregowy
5.3.1. Opis aplikacji
5.3.2. Implementacja
5.4. Alfanumeryczny wyświetlacz LCD
5.4.1. Opis aplikacji
5.4.2. Implementacja
5.5. Obsługa klawiatury w przerwaniach
5.5.1. Opis aplikacji
5.5.2. Implementacja
5.6. Obsługa klawiatury i wyświetlacza LED
5.6.1. Opis aplikacji
5.6.2. Implementacja
5.7. Komunikacja pomiędzy wieloma urządzeniami
5.7.1. Interfejs RS-485
5.7.2. Opis protokołu
5.7.2.1. Formaty ramki danych
5.7.2.2. Obsługa błędów
5.7.3. Sesja komunikacyjna
5.7.4. Implementacja
5.7.4.1. Stałe i zmienne używane w programie
5.7.4.2. Układ nadrzędny
5.7.4.3. Układ podrzędny
5.7.5. Zależności czasowe
5.7.5.1. Odmierzanie przerwy pomiędzy znakami wewnątrz ramki
5.7.5.2. Odmierzanie przerwy pomiędzy ramkami z żądaniem odpowiedzi i danymi,
5.7.5.3. Odmierzanie przerwy pomiędzy ramkami przez układ podrzędny
5.7.6. Wymiana danych
Załącznik
Literatura
Indeks alfabetyczny
Igła dozownicza zagięta do fluxu, kleju 1,372mm, 15G
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 1,194mm i średnicy zewnętrznej 1,651mm
Brak towaru
Igła dozownicza zagięta, do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,84mm i średnicy zewnętrznej 1,26mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,686mm i średnicy zewnętrznej 1,067mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,603mm i średnicy zewnętrznej 0,9081mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,514mm i średnicy zewnętrznej 0,8192mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,413mm i średnicy zewnętrznej 0,7176mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,337mm i średnicy zewnętrznej 0,6414mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,311mm i średnicy zewnętrznej 0,5652mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,26mm i średnicy zewnętrznej 0,5144mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,26mm i średnicy zewnętrznej 0,4636mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,21mm i średnicy zewnętrznej 0,4128mm
Brak towaru
Igła dozownicza zagięta do precyzyjnej aplikacji kleju, fluxu o średnicy wewnętrznej 0,184mm i średnicy zewnętrznej 0,362mm
Brak towaru
Silikonowa obudowa ochronna do modułu wizyjnego Huskylens. Została wykonana z miękkiego i elastycznego materiału, idealnie dopasowuje się do kształtu płytki. DFRobot FIT0647
Brak towaru
Moduł z czujnikiem jakości powietrza CCS811 umożliwiający pomiar stężenia dwutlenku węgla (CO2) oraz lotnych związków organicznych (VOC) w powietrzu. Komunikuje się przez interfejs I2C. DFRobot SEN0339
Brak towaru
Wyświetlacz LCD IPS 10,1". Jest wyposażony w interfejs mini HDMI do wyświetlania obrazu oraz USB do zasilania. Rozdzielczość 800x1280 pikseli. DFRobot DFR0615
Brak towaru
Andrzej Witkowski