Teil I: Einstieg in die Hard- und Software

1) Einführung
  • Die Welt der Mikrocontroller – Kursvoraussetzungen
  • Kurzer Rückblick auf die Mikrocontrollerentwicklung
  • Grundlagen der Controllertechnik – Von-Neumann- und Harvard-Architektur
  • CISC und RISC
  • Prefetching und Pipelining – Unterschiede zwischen Controllern und Mikroprozessoren
  • Aktuelle Mikrocontroller – Vergleich verschiedener Controller-Familien
  • Die 8051-Serie
  • Die XMEGA-Technologie im Überblick
  • XMEGA-Controller-Familien: A1, A3 und A4
  • Leistungsmerkmale der XMEGA-Controller – Auswahlkriterien für Mikrocontroller
  • Einsatzgebiete von Mikrocontrollern
  • Kontrolle des Lernerfolgs
 
2) Das Mikrocontroller-Board Xplained Xmega-A3BU
  • Inbetriebnahme des Boards – Die Stromversorgung des Boards
  • Messung der Versorgungsspannungen – Bereit zum ersten Test: die vorinstallierte Firmware
  • Die Funktionseinheiten des Controllerboards – Der Mikrocontroller ATXmega256A3BU
  • Die LEDs – Die Bedienelemente
  • Das graphische LCD-Display – Der Temperatursensor
  • Sensor für die Umgebungshelligkeit – Die I/O-Pins des Controller-Boards
  • Zusätzlicher Speicher: Externes Data Flash
  • Das Batterie-Backup-System
  • Kontrolle des Lernerfolgs
 
3) Einstieg in die Microcontroller-Programmierung
  • Systemvoraussetzungen für das Atmel Studio 6 – Installation der USB-Treiber
  • Das erste Programm – Flexible In-Circuit Programmierung: FLIP
  • Laden des Programms in den Controller – Erstellen eines neuen Projektes
  • Projekte für Stand-allone-Controller – Der Programmer JTAGICE3
  • Der Bootloader
  • Praxisübungen
 
4) Ausblick


Teil II: Embedded C

5) Einführung
  • Grundstruktur eines embedded C-Programms – Hello World auf dem Controllerboard
  • Praxisübungen und Verständnisfragen
 
6) Programmentwicklung
  • Praxisübungen und Verständnisfragen
 
7) Syntaxelemente
  • Praxisübungen und Verständnisfragen
 
8) C-Schlüsselwörter (Keywords)

9) C-Zeichensatz

10) Variablen

11) Variablen-Typen
  • Ganzzahlen (Integer) – Fließkommazahlen (Float) – Weitere Variablen-Typen
  • Verständnisfragen und Übungen
 
12) Konstanten

13) Operatoren und Anweisungen
  • Arithmetische Operatoren – Compound-Operatoren – Logische Operatoren
  • Bitweise Verknüpfung – Shift-Operatoren – Vergleichsoperatoren
  • Übungen und Verständnisfragen
 
14) Kontrollstrukturen
  • Die if-Verzweigung – Die else-Verzweigung – Die else if-Verzweigung
  • Der Ternäre Operator – Die switch-Verzweigung
  • Die while-Schleife – Die do … while-Schleife
  • Die for-Schleife – Die komplexe for-Schleife – Abbruch von Schleife
  • Verständnisfragen und Praxisübungen
 
15 ) Funktionen
  • Parameterübergabe – Globale und lokale Variablen – Rekursiver Funktionsaufruf
  • Verständnisfragen
 
16) Zeiger in C
  • Zeiger auf Variablen – Variablen im Speicher – Nullzeiger
  • Funktion mit Pointer-Übergabe – Verkettete Zeiger
  • Verständnisfragen
 
17) Arrays und Strings
  • Arrays (Felder) – Initialisierung von Feldern – Zwei- und Mehrdimensionale Felder
  • Höherdimensionale Felder – Zeichenketten (Strings)
  • Stringlänge und Nullterminierung
  • Länge eines Strings ermitteln – Vergleichen von Strings
  • Formatierung mit sprintf() – Strings kopieren und verknüpfen
  • In einem String nach einem Zeichen oder Unterstring suchen
  • Umwandlung von Strings in Zahlen – Umwandlung von Zahlen in Strings
  • Verständnisfragen und Praxisübungen
 
18) Strukturierte Datentypen            
  • Strukturen – Vereinfachte Initialisierung – Verständnisfragen und Praxisübungen
 
19) Der Präprozessor
  • Symbolische Konstanten – Vordefinierte Konstanten – Makros
  • Verständnisfragen
 
20) Bedingte Compilierung
  • Bedingte Kompilierung mit Konstanten-Definition – Bedingte Kompilierung mit Konstanten-Abfrage
  • Verständnisfragen und Übungen
 
21) Headerdateien und Include-Files
  • Einfügen von Header-Files in Quelltextdateien – Vermeidung von Mehrfach-Einbindungen
  • Aufnahme von C-Dateien in das aktuelle Projekt
  • Implementierung einer einfachen Funktion – Maximale Auslagerung
  • Standard Header Dateien – Eigene Bibliotheken und kommerzielle Libraries
  • Verständnisfragen und Praxisübungen
 
22) Ausblick