Training - C/C++ für Embedded Controller

Dauer: 2,5 Tage

Kursbeschreibung       

Der Kurs widmet sich einer Einführung in die Problematik der Programmierung von embedded Controllern.

Obwohl auch im embedded Bereich mittlerweile Controller mit gängigen Betriebssystemen wie Windows 10 IOT oder embedded Linux weit verbreitet sind (wir verweisen hierzu auf unseren Kurs Windows 10 IOT bzw. Linux embedded), werden doch auch sehr häufig Controller ohne eigenes Betriebssystem eingesetzt.

Als Hardwarebasis für die verschiedenen Projektbeispiele dient ein einfacher, preiswerter und besipielhaft ausgestatteter MicroController auf Basis  der AVM ATMega CPU, der Arduino Uno.

Für die Programmierung von Anwendungen mit diesem Microcontroller stehen vielseitige und umfangreiche Bibliotheken bereit sowie gleich zwei hervorragende Entwicklungsumgebungen, nämlich die Arduino IDE und das Microsoft Visual Studio mit dem Visual Micro Plugin.

Die Kursteilnehmer bekommen als Grundausstattung nicht nur ein Arduino UNO Board, sondern dazu ein komplettes Set an Bauteilen und Sensoren für eine Vielzahl von typischen Anwendungen.

Der Aufbau der Beispielanwendungen erfolgt lötfrei mit einem ebenfalls zum Set gehörenden Breadboard.

Themenschwerpunkte

  • Warum C++ und nicht C?
  • Kurzeinführung in die Sprache C++
  • Besonderheiten der hardwarenahen Programmierung
  • Projektaufteilung und Verwaltung
  • Modularisierung
  • Testbarkeit
  • Interrupt-Funktionen
  • Einteilung des Speichers
  • Speicherbereiche Übersicht
  • Speichertypen
  • Arduino EEPROM
  • Arduino Flash
  • Hardwarezugriffe
  • Arduino: Technische Eigenschaften
  • GPIO Ports, Belastung
  • Arduino Uno R3 Pinout
  • Analoge Pins- AD/DA Wandler
  • UART Schnittstelle
  • I2C Schnittstelle
  • SPI Schnittstelle
  • Nützliche Links
  • Schaltungsentwurf mit Fritzing Breadboard
  • Entwicklungsumgebung für Arduino Uno
  • Arduino GPIO Programmierung
  • Berechnung von Pullup / Pulldown Widerständen
  • Berechnung von Vorwiderständen für LEDs
  • Hands On #1: Led an Arduino blinken lassen
  • Hands On #2: Logikgatter
  • Interrupt-Programmierung
  • Hands On #3: SPI (Serial Peripheral Interface)
  • Hands On #4: LCD Display über I2C ansteuern
  • Hands On #5: Ultraschall Sensor
  • Hands On #6: Temperaturmessung mit DHT 11 Sensor

Voraussetzungen

Grundkenntnisse in C/C++, Grundkenntnisse in Digitaltechnik

Zielgruppe

Ingenieure, Techniker, Elektroniker, Software- und Hardware-nahe Entwickler

Kursmaterial

  • Kursordner (deutsch)