kramann.info
© Guido Kramann

Login: Passwort:










1.4 Sprachwahl

- Welche technische Probleme heutzutage auf der Ebene der Maschinenprogrammierung gelöst werden.
64 schicken in C

Bild 1.4-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