Wichtige Hinweise

Besuchen Sie uns auf der MESCONF 2017

Wir unterstützen das "Manifest - Modeling of Embedded Systems" mit unseren Unterschriften. Machen Sie mit!

Meinen AVR einfach und modern programmieren

Diese Seite befindet sich zur Zeit noch in Arbeit. Weite Teile der Beschreibung von Grundlagen des Frameworks und des Tutorials können aber bereits genutzt werden. Für den Rest geben Sie uns noch etwas Zeit. Wir wünschen schon mal viel Spaß mit unserem UML-Tool SiSy ;-)

Dieses Tutorial wendet sich an Leser, die bereits über Kenntnisse der Programmierung von AVR Mikrocontrollern verfügen und sich auch mit der objektorientierten Programmierung von Mikrocontrollern im UML Klassendiagramm beschäftigen möchten. Es ist kein UML, C++ oder AVR-Programmier-Tutorial im engeren Sinne und erhebt daher keinen Anspruch auf Vollständigkeit oder Allgemeingültigkeit in diesen Bereichen. Hier soll sich speziell mit ausgewählten Aspekten für den einfachen Einstieg in die Programmierung von Mikrocontrollern mit der UML auseinandergesetzt werden. Eine sinnvolle Vorbereitung auf dieses Tutorial ist zum Beispiel, sich die einfachen C++ Programmierung von AVR Controllern kurz anzusehen.

Die meisten Bereiche dieses Tutorials sind speziell für SiSy Anwender konzipiert bzw. sind als online Bestandteile dieses Produktes anzusehen. Dem Anwender stehen nach Erwerb des Produktes persönliche Zugangsdaten für diesen Bereich zur Verfügung. Die ersten Schritte sind allgemeingültig und im öffentlichen Teil für jeden erreichbar. Im Zusammenwirken mit der kostenlosen SiSy DEMO sollten sie für alle Interessierten eine gute Starthilfe und ein Schnupperkurs für mehr Engineering-Kompetenz sein. Das Tutorial wird ständig weiterentwickelt. Es lohnt sich also immer wieder rein zu schauen.

Viel Spaß mit diesem kleinen Tutorial!

Einleitung

Die Objektorientierung ist ursprünglich angetreten, das Programmieren einfacher zu machen. Praktisch erscheinen jedoch objektorientierte Sprachen für viele eher als Hürde, nicht als Erleichterung. Auch die UML begann vor fast 20 Jahren mit großen Ambitionen und doch ist es scheinbar ein manchmal zähes Unterfangen die UML bei den Entwicklern zu etablieren. Das muss aber nicht so sein. Bilden Sie sich zu folgenden Codeausschnitten und Darstellungen selbst Ihre Meinung.

// offizieller AVR C Standard ///////////////////////////////////////
if (!(PIND&(1<<PD2)))
    PORTB&=~(1<<PB7); 
 
// das Gleiche mit myAVR C++ ////////////////////////////////////////
if ( pinD.bit2 == 0 )
     portB.bit7 = 0;
 
// und mit Klassen aus dem myAVR C++ Framework //////////////////////
if ( button.isPressed() )
     led.off();

Ich glaube dieses kleine Beispiel zeigt deutlich, dass eine objektorientierte Vorgehensweise und Programmierung zu wesentlich verständlicherem Quellcode führen kann. Man könnte auch sagen, dass man das Ziel der Objektorientierung erreicht hat, wenn sich der Programmcode wie Klartext lesen lässt. Die UML gibt uns die Adlerperspektive auf unser Projekt. Es gibt unserer Meinung nach keine wirklichen Gründe, dass ein UML-Werkzeug etwas anderes sein muss als eine Entwicklungsumgebung (IDE). In diesem Zusammenhang muss noch erwähnt werden, dass die Argumentation bis hier noch auf der Ebene der Froschperspektive bleibt. In diesem Tutorial wird von Ihnen verlangt, eine gespaltene Persönlichkeit zu werden. Sie sollen sich aus der Froschperspektive in die ungewohnten Höhen der Adlerperspektive schwingen. Sie werden Architekt und Maurer in einer Person sein.

Also frisch ans Werk. Zuerst gilt es, die Voraussetzungen für die Arbeit zu schaffen.

„Nach Vorschrift sammle Lebenselemente
Und füge sie mit Vorsicht eins ans andre.
Das Was bedenke, mehr bedenke Wie.“

Johann Wolfgang von Goethe, Faust der Tragödie zweiter Teil

Ein paar theoretische Grundlagen

Bevor Sie in die praktische Seite des Tutorials abtauchen, sollten Sie (müssen aber nicht) folgende theoretischen Grundlagen studieren und möglichst verinnerlichen:

Voraussetzungen zur praktischen Arbeit

Das Abarbeiten dieses Tutorials geht am besten mit der geeigneten

Erste Schritte mit der UML

Anwendungsbeispiele mit der UML

Weiterführendes

  • SPI (nur über eine SiSy-Lizenz verfügbar)
start.txt · Zuletzt geändert: 2017/05/23 17:16 von huwaldt