Sprachwahl
- Welche technische Probleme heutzutage auf der Ebene der Maschinenprogrammierung gelöst werden.
     
     Bild 0-1: 64 an Port C schicken in C
 
     - Obiges Programm macht das gleiche, wie das zuvor behandelte Assembler-Programm.
 
     - Auch hier ist es in der Programm-Entwicklungsumgebung AVR-Studio dargestellt.
 
     - Die Include-Datei sorgt für eine Vordefinition der Mikrocontroller-Register. hierdurch werden u.a. die Register PORTC und DDRC verfügbar gemacht.
 
     - Durch Zuweisung eines Wertes von 255 (alle 8 Bit gesetzt) an das Register DDRC wird dafür gesorgt, dass alle Pins des Digitalen Ein- und Ausgangs Port C auf Ausgang geschaltet werden.
 
     - Erst hiernach ist es möglich durch Zuweisung der 64 an das Register PORTC den Digitalen Ausgang PC6 bei Pin 28 auf 5V zu setzen.
 
     - Hinweis: Intern werden Zahlen immer binär gespeichert. Zu welcher Zahlenbasis man im Programmcode die Zahlen hinschreibt, ist dabei völlig irrelevant und hängt nur von dem jeweiligen Erfordernis an die Lesbarkeit ab.
 
     - In diesem Fall korrespondieren die Bits der 8-Bit-Zahlen der unsigned char-Variablen (Register) mit Pins (Beinchen) des AT,ega32.
 
     - Somit liegt es nahe, die Binärdarstellung im Programm zu verwenden.
 
     - Es gilt also im Programm: 13 ist das gleiche wie 0x0d, ist das gleiche wie 0b00001101
 
  | 
C oder Assembler ? 
     - In jedem Fall ist das C-Programm kompakter und übersichtlicher, bietet also Forteile in Bezug auf Wartbarkeit und Handhabbarkeit.
 
     - Jedoch kann nicht vorausgesehen werden, was der C-Compiler aus dem Quellcode macht, während man ja beim Assemblerprogramm die Taktzyklen jedes Befehls direkt angeben kann.
 
     - Ein Programm, bei dem es auf ganz genaues Timing ankommt, kann daher besser mit Assembler geschrieben werden.
 
     - Das gleiche gilt für Fälle, bei denen der Programmspeicher sehr knapp ist und voll ausgenutzt werden soll.
 
  | 
Entwicklungstrend
     - Mit steigender Leistungsfähigkeit der Mikrocontroller, wird es immer besser möglich, höhere Programmiersprachen einzusetzen.
 
     - Je höher die Programmiersprache, desto weiter wird von der Rechnerarchitektur abstrahiert und desto näher kommt man dem Ideal der Plattform-unabhängigen Programmierung (z.B. Java).
 
     - Damit verliert die Kenntnis der Rechnerarchitektur an Bedeutung.
 
     - Die Erfordernis, die im Mikrocontroller integrierte Peripherie zu kennen und deren Ansteuerung zu beherrschen, bleibt aber bestehen.
 
     - Darum eben liegt der Fokus dieser Veranstaltung darauf, diese Peripherie kennen- und programmieren zu lernen.
 
     - Und damit schließt sich der Bogen dieser ersten Einführung für diese Lehrveranstaltung, deren genauerer Titel lautet:
 
  | 
Konfiguration und Programmierung der in einem Mikrocontroller integrierten Peripherie
     - Das nun folgende Kapitel vermittelt die ersten Schritte bei der Mikrocontroller-Programmierung
 
  |