Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
framework [2019/01/29 15:33] – Externe Bearbeitung 127.0.0.1 | framework [2019/07/27 16:38] – [Das Betriebssytem] huwi | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
Der Ausgangspunkt für die folgenden Betrachtungen des Frameworks ist das myAVR Board MK2. Es kann natürlich auch das myAVR Board light dafür herangezogen werden. | Der Ausgangspunkt für die folgenden Betrachtungen des Frameworks ist das myAVR Board MK2. Es kann natürlich auch das myAVR Board light dafür herangezogen werden. | ||
- | {{: | + | >{{: |
Das Board verfügt über einen ATmega8 mit 3,6864 Mhz und über folgende für die Programmierung relevante externe Bausteine: | Das Board verfügt über einen ATmega8 mit 3,6864 Mhz und über folgende für die Programmierung relevante externe Bausteine: | ||
Zeile 25: | Zeile 25: | ||
===== Abstraktion vom myAVR Board MK2 zur Klassenbibliothek ===== | ===== Abstraktion vom myAVR Board MK2 zur Klassenbibliothek ===== | ||
- | >>>>> | + | > |
Von der Gegenständlichkeit loslösen heißt, den Dingen Namen zu geben. In den folgenden Übersichten orientieren wir uns an dem Darstellungsstandard der UML. Das ist weniger schwierig, als es klingt. Wer ein Viereck zeichnen kann, kann auch UML. Die Dinge sind Vierecke und die Beziehungen zwischen den Dingen werden als Verbindungen gezeichnet. Die Namen, welche wir den Dingen geben, schreiben wir in das betreffende Viereck. Wohin sonst? Damit bestimmte Verbindungen dem Betrachter verständlicher werden, erlaubt, ja bittet die UML, diese zu beschriften. | Von der Gegenständlichkeit loslösen heißt, den Dingen Namen zu geben. In den folgenden Übersichten orientieren wir uns an dem Darstellungsstandard der UML. Das ist weniger schwierig, als es klingt. Wer ein Viereck zeichnen kann, kann auch UML. Die Dinge sind Vierecke und die Beziehungen zwischen den Dingen werden als Verbindungen gezeichnet. Die Namen, welche wir den Dingen geben, schreiben wir in das betreffende Viereck. Wohin sonst? Damit bestimmte Verbindungen dem Betrachter verständlicher werden, erlaubt, ja bittet die UML, diese zu beschriften. | ||
Zeile 32: | Zeile 32: | ||
Im Zentrum unserer Betrachtung steht der Controller. OK, da ist er. Ein Rechteck mit dem Namen Controller. Ganz nebenbei wissen wir, dass auf unserem Board ein ATmega8 verbaut wurde. Der Controller ist also ein ATmega8. | Im Zentrum unserer Betrachtung steht der Controller. OK, da ist er. Ein Rechteck mit dem Namen Controller. Ganz nebenbei wissen wir, dass auf unserem Board ein ATmega8 verbaut wurde. Der Controller ist also ein ATmega8. | ||
- | >>>>>>> | + | > |
==== Das Betriebssytem ==== | ==== Das Betriebssytem ==== | ||
Betriebssystem ist natürlich übertrieben, | Betriebssystem ist natürlich übertrieben, | ||
- | >>>>>>>>>>>>>>>>>>>> | + | > |
Von besonderem Interesse sind für uns die Operationen **onStart** und **onWork**. Der UML Spezialist erkennt scharfen Auges an der kursiven Schrift der beiden Operationen sofort, dass diese virtuell sind, also vom Anwendungsentwickler (das sind Sie) überschrieben werden können. Das bedeutet nichts weiter, als dass Sie diese beiden Operationen in ihrer Applikation selbst noch mal hinschreiben können und das Framework diese automatisch zum richtigen Zeitpunkt aufruft. Das sind sogenannte Ereignishandler. Davon werden wir noch einige sehen. Wie wir diese richtig nutzen, wird im Tutorial beschrieben. Um diesen Aspekt noch etwas näher zu beleuchten, schauen wir uns noch an wie es möglich ist, dass bestimmte Bausteine selbstständig (parallel) ihre Aufgaben erfüllen können. Selbstständig arbeitende Bausteine sind von der Klasse // | Von besonderem Interesse sind für uns die Operationen **onStart** und **onWork**. Der UML Spezialist erkennt scharfen Auges an der kursiven Schrift der beiden Operationen sofort, dass diese virtuell sind, also vom Anwendungsentwickler (das sind Sie) überschrieben werden können. Das bedeutet nichts weiter, als dass Sie diese beiden Operationen in ihrer Applikation selbst noch mal hinschreiben können und das Framework diese automatisch zum richtigen Zeitpunkt aufruft. Das sind sogenannte Ereignishandler. Davon werden wir noch einige sehen. Wie wir diese richtig nutzen, wird im Tutorial beschrieben. Um diesen Aspekt noch etwas näher zu beleuchten, schauen wir uns noch an wie es möglich ist, dass bestimmte Bausteine selbstständig (parallel) ihre Aufgaben erfüllen können. Selbstständig arbeitende Bausteine sind von der Klasse // | ||
- | >>>>>>>>>> | + | > |
Auffällig ist hier zum einen, dass der Controller jetzt einen Timer hat und zum anderen die widerum virtuellen Operationen // | Auffällig ist hier zum einen, dass der Controller jetzt einen Timer hat und zum anderen die widerum virtuellen Operationen // |