kramann.info
© Guido Kramann

Login: Passwort:










7.1.6 Programmierung des Vehikels

  • Die Testprogramme aus Kapitel 7.1.4 (Elektronik) sollen nun etwas genauer angeschaut werden.
  • Das Ziel ist es, dabei zu lernen, selber Varianten der Programme erstellen zu können.

Komplexität verbergen

  • Die verwendete Programmiersprache ist C++, eine objektorientierte Erweiterung der Programmiersprache C.
  • Die objektorientierten Möglichkeiten der Sprache wurden hier genutzt, um Ihnen schon fertige Programmbausteine zur Verfügung zu stellen.
  • Ihr eigener Programmcode wird in der Datei muecb.c zwischen die Zeilen
  • //****************************** Anwenderprogramme **************************************
  • und
  • //****************************** ENDE Anwenderprogramme *********************************
  • geschrieben, bzw. kopiert.
  • Falls beim Workshop nicht für alle Teilnehmerinnen und Teilnehmer eine Programmierumgebung zur Verfügung steht, reicht es, wenn Sie Ihr Programm in einen beliebigen Editor, z.B. Notepad, eintippen.
  • Die Übertragung in die Programmierumgebung kann dann gemeinsam mit der Workshopleitung erfolgen.
  • Das "drum herum" dient eben dazu, dass Sie in diesem Bereich die vorgefertigten Programmbausteine einfach benutzen können.
  • Um beispielsweise die LED ein- bzw. auszuschalten, brauchen Sie nur
  • lampe.ein();
  • bzw.
  • lampe.aus();
  • als Befehlszeilen eingeben.
  • Was dahinter steckt sehen Sie nicht.
  • Tatsächlich korrespondieren die Beinchen des Mikrocontrollers mit bestimmten Bits vordefinierter Register und man muß wissen, an welchem Beinchen die LED angeschlossen ist und welche Register-Bit-Kombination diesem entspricht.
  • Wird das entsprechende Bit vom Programm auf 1 gesetzt, leuchtet die LED, bei 0 ist sie aus.
  • Die entsprechenden Befehle würden so lauten:
  • PORTA |= 0b10000000;
  • bzw.
  • PORTA &= 0b01111111;
  • Sie sehen: Ich müßte Ihnen zu diesen beiden Programmzeilen viel mehr erklären, als zu den ersten beiden.
  • Wir müßten dazu viel tiefer in die Materie einsteigen.
  • Wenn Sie das einmal vorhaben, so finden Sie hier: http://www.kramann.info/40_Mikrocontroller einige Informationen zum Aufbau des Mikrocontrollers ATmega32 und zu seiner Programmierung.
  • Das Verbergen der eigentlichen Komplexität der Mikrocontrollerprogrammierung durch die Vorgabe fertiger Programmbausteine hat den Vorteil, dass Sie sehr schnell ein lauffähiges Programm hinbekommen können.
  • Der Nachteil ist, dass Sie nur eine vage Vorstellung davon vermittelt bekommen, wie Ihr Programm im Hintergrund arbeitet.
  • Im Rahmen dieses Workshops nehmen wir das in Kauf.
  • Als Rahmen, in das Ihre Programmzeilen eingefügt werden, kann das folgende Projekt verwendet werden:
Leeres Projekt leeres_projekt.zip (Bereich zwischen den Randmarkierungen des Anwenderprogramms in File muecb.c ist hier leer.)