Dipl. Ing. Toralf Riedel Dipl. Ing. Päd. Alexander Huwaldt Benutzerhandbuch SiSy® für die Programmierung von Mikrocontrollerund PC-Anwendungen gültig ab SiSy-Version 3.
Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Die Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen.
Inhalt Seite: 3/152 Inhalt 1 Einleitung ..........................................................................................................................................7 2 Vorbereitung .....................................................................................................................................8 2.1 Installation der Software..............................................................................................................8 2.1.1 Voraussetzungen ..............
Seite: 4/152 4.2 4.3 Inhalt Vorgehen für AVR Programme ................................................................................................ 36 Vorgehen für ARM Produkte .................................................................................................... 43 5 Entwicklung eines großen Programms.......................................................................................... 48 5.1 Einleitung ..............................................................................
Einleitung Seite: 5/152 8.3.3 Grundstruktur laden ...........................................................................................................87 8.3.4 Systemstruktur entwerfen ..................................................................................................88 8.3.5 Systemverhalten programmieren.......................................................................................91 8.3.6 Übersetzen, Brennen und Testen ........................................................
Einleitung Seite: 7/152 1 Einleitung Sie haben eine Ausgabe des Modellierungswerkzeuges Simple System, kurz SiSy, erworben. Bevor auf die verschiedenen Funktionen des Programms eingegangen wird, noch einige Worte zum vorliegenden Handbuch. Mit Hilfe des Handbuchs werden dem Nutzer die Grundlagen der Bedienung von SiSy erläutert. Der Inhalt, die Gestalt und die Regeln der Modelle werden nur am Rand betrachtet.
Seite: 8/152 Vorbereitung 2 Vorbereitung In diesem Kapitel werden Sie über notwendige Schritte zur Installation, Konfiguration und Aufbau einer funktionsfähigen Entwicklungsumgebung informiert. 2.1 Installation der Software Für die Bearbeitung der Übungen und Aufgaben steht Ihnen die Entwicklungsumgebung SiSy AVR, SiSy ARM bzw. SiSy Microcontroller ++ zur Verfügung. Sollten Sie SiSy bereits installiert haben, können Sie dieses Kapitel überspringen.
Vorbereitung Seite: 9/152 Beginn der Installation Betätigen Sie im Setup-Programm die Schaltfläche „Weiter“. Sie erhalten die Lizenzbestimmungen. Bitte lesen Sie diese sorgfältig durch. Wenn Sie sich mit diesen Bestimmungen einverstanden erklären, bestätigen Sie die Lizenzbestimmungen mit der Schaltfläche „Annehmen“. Sie werden im folgenden Dialog dazu aufgefordert, Ihre Lizenzangaben einzugeben. Danach erscheint die Dialogbox „Komponenten auswählen“, welche Sie mit „Weiter“ bestätigen.
Seite: 10/152 Vorbereitung Beginnen Sie nun die Installation durch Betätigen der Schaltfläche „Installieren“. Während der Installation erhalten Sie ggf. Hinweise, dass verschiedene Treiber installiert bzw. aktualisiert werden sollten. Es wird stets eine Eingabe erwartet. In Abhängigkeit Ihrer Rechnerkonfiguration kann die komplette Installation einige Minuten in Anspruch nehmen. Zum Abschluß der Installation wird ein entsprechendes Dialogfeld angezeigt.
Vorbereitung Seite: 11/152 2.2 Beschaffen bzw. Herstellen der Hardware Alle Ausführungen, Übungen und Aufgabenstellungen in diesem Benutzerhandbuch beziehen sich für die AVR-Programmierung auf ein myAVR Board MK2 und für die ARM-Programmierung auf ein STM32F4-Discovery als Referenzhardware. Dokumente sowie Anwendungsbeispiele zu myAVR Boards stehen zum Download bereit unter www.myAVR.de. Für das STM32F4-Discovery sind frei verfügbare, fertig lauffähige Beispiele auf www.st.com erhältlich.
Seite: 12/152 Arbeiten mit SiSy, allgemein 3 Arbeiten mit SiSy, allgemein Um dem Nutzer zu erläutern, wie er in SiSy modellieren kann, werden zweckentsprechende Definitionen der Begriffe gegeben. 3.1 Projektarbeit 3.1.1 Was ist ein SiSy-Projekt? Ein SiSy-Projekt ist eine abgegrenzte Menge von verknüpften Elementen für ein zu bearbeitendes Problem. Alle aktuellen Daten sind in einer Projektdatenbank gespeichert.
Arbeiten mit SiSy, allgemein Seite: 13/152 Verfügbare Werkzeuge - kleines Programm ASM - kleines Programm C - großes Programm ASM - großes Programm C Vorgehensmodell „Programmierung“ mit den verfügbaren Werkzeugen Verfügbare Werkzeuge - kleines Programm ASM - kleines Programm C - großes Programm ASM - großes Programm C - Programmablaufplan ASM - Struktogramm C - Klassendiagramm C++ Vorgehensmodell „AVR Vorgehensmodell“ mit den verfügbaren Werkzeugen Im weiteren Verlauf werden entsprechend der Auswahl
Seite: 14/152 Arbeiten mit SiSy, allgemein 3.1.3 Vorhandenes Projekt öffnen Ein vorhandenes Projekt wird geöffnet und die abgespeicherten Diagramme und Objekte sowie alle Möglichkeiten für die weitere Bearbeitung werden verfügbar gemacht. Die Wahl des Projektes erfolgt durch Klicken auf den entsprechenden Namen oder über die Schaltfläche „Projekt suchen“. Ist der Mauszeiger auf dem Projektnamen oder auf den Symbolen, dann werden Informationen angezeigt. 3.1.
Arbeiten mit SiSy, allgemein Seite: 15/152 3.2 Die Modellierungselemente von SiSy Werkzeug SiSy stellt für die Bearbeitung der Modelle und Teilmodelle Werkzeuge der entsprechenden Methodik bereit. Werkzeuge sind Editoren, mit denen in einem Fenster die grafische Darstellung (Diagramme) der Modelle bearbeitet werden kann. Modellelemente Modelle bestehen aus Elementen, welche zueinander in Beziehung stehen.
Seite: 16/152 Arbeiten mit SiSy, allgemein 3.3 Die Fenster für die Modellierung Navigator Dieser befindet sich im linken, oberen Teil des Fensters. Er ermöglicht dem Anwender die Orientierung über die in der Projektdatenbank gespeicherten Objekte sowie deren Bereitstellung für die weitere Verwendung. Nach dem Start von SiSy werden neben dem Vorgehensmodell eine Reihe leicht zu handhabender Schaltflächen, Menüs und weitere Hilfsmittel angezeigt.
Arbeiten mit SiSy, allgemein Seite: 17/152 Die Bedienelemente/Objektbibliothek SiSy bietet, wie bei Windows-Anwendungen üblich, die Steuerung von Befehlen über das Hauptmenü, über die Werkzeugleisten, die Tastatur oder die Objektbibliothek an. Darüber hinaus enthalten das Kontextmenü und der Navigator Steuerfunktionen. Die Anzahl der möglichen Befehle in der Menüleiste ist abhängig davon, ob ein Projekt geöffnet ist. Ist das nicht der Fall, erscheint ein Menü mit wenigen Befehlen.
Seite: 18/152 Arbeiten mit SiSy, allgemein 3.4.4 Modellelemente verschieben Bestimmte Modellelemente (z.B. Knoten/Objekte) lassen sich im Diagramm frei anordnen. Das Positionieren erfolgt in der Regel durch Drag und Drop mit der Maus. Die Modellelemente werden dabei an einem Raster ausgerichtet. Das Raster erleichtert die Positionierung. Um die Rasterfangfunktion zu unterbinden, muss beim Drag und Drop eines Elementes die Umschalttaste betätigt werden.
Arbeiten mit SiSy, allgemein Seite: 19/152 3.4.8 Modellelemente kopieren Um eine Kopie eines Modellelementes zu erzeugen wählen Sie im Menü oder in der Werkzeugleiste den Befehl „Kopieren“. Sie können dieses Objekt jetzt innerhalb des Projektes in ein Diagramm passenden Typs einfügen. Sollte das Diagramm den Objekttyp nicht akzeptieren, erhalten Sie dazu eine Meldung. Rahmenelemente wie zum Beispiel Klassen können mit deren Inhalt kopiert werden.
Seite: 20/152 Arbeiten mit SiSy, allgemein 3.4.12 Die Modellhierarchie bearbeiten (Jo-Jo) Die Modellhierarchie kann durch Einfügen neuer Ebenen oder Auflösen von ModellEbenen verändert werden (Jo-Jo). Diese Funktion erreichen Sie am besten über das Haupt- oder Kontextmenü. Um eine gewünschte Anzahl von Modellelementen zu einer neuen Ebene zusammenzufassen, selektieren Sie diese und wählen im Menü Bearbeiten/Objekt/Jo-Jo/Objekte zusammenfassen.
Arbeiten mit SiSy, allgemein Seite: 21/152 3.6 Druckfunktionen in SiSy Sie haben in SiSy verschieden Möglichkeiten Projektinhalte wie Grafiken, Übersichten, Quellcodes oder ganze Projektdokumentationen zu drucken.
Seite: 22/152 Eingerahmtes Info-Feld für das Diagramm. Erweiterung des InfoFeldes um eine Legende für die Marker im Diagramm. Marker sind Symbole an den Diagrammelementen zum Bearbeitungsstand. Arbeiten mit SiSy, allgemein Sichtbarer Rahmen um das Diagramm. Papierformat Große Diagramme können auf mehrere Blätter verteilt werden. Für bestimmte Drucktypen kann die Füllfarbe der Objekte abgeschaltet werden.
Arbeiten mit SiSy, allgemein Seite: 23/152 3.6.2 Grafiken und Inhalte drucken (QuickDok) Viele Projektinformationen sind kein sichtbarer Teil von erstellten Diagrammen. Diese wurden über Dialoge und Masken eingegeben und stehen als Attribute in der Projektdatenbank zur Verfügung.
Seite: 24/152 Arbeiten mit SiSy, allgemein 3.6.3 Nur Quellcodes drucken Für das Ausdrucken von Quellcodes bietet SiSy einen speziellen QuellcodeDruckassistenten. Damit ist es möglich Quellcodes formatiert, in Syntaxfarben und mit Zeilennummern auszudrucken.
Arbeiten mit SiSy, allgemein Seite: 25/152 3.6.4 Nutzen der Zwischenablage Oft ist es erforderlich in Projektdokumentationen die Diagramme als Bilder einzufügen. In SiSy werden die Diagramme nicht als Bilder gespeichert sondern zur Laufzeit aus den Modellinformationen generiert. Um die Bilder der Diagramme weiter zu verwenden, steht dem Anwender die Funktion „Bild in Zwischenablage“ zur Verfügung. Dabei erstellt SiSy eine skalierbare Vektorgrafik (WMF) und legt diese in die Zwischenablage (Copy).
Seite: 26/152 Arbeiten mit SiSy, allgemein 3.7 SiSy Add-Ons verwalten 3.7.1 Einführung Das Modellierungswerkzeug SiSy besteht aus seinen Kernkomponenten: - Anwendungssystem SiSy mit o Rahmenanwendung o Assistent o Diagrammfenster - Laufzeitbibliotheken o Datenbanktreiber (Repository) o Grafikbibliotheken o Metamodell-Engine o SiSy BASIC Interpreter - Allgemeine Hilfe (dieses Benutzerhandbuch) … und installierten Add-Ons.
Arbeiten mit SiSy, allgemein Seite: 27/152 Aus den verfügbaren Add-Ons werden entsprechend der unterschiedlichen Einsatzgebiete des Modellierungswerkzeuges SiSy spezielle Ausgaben zusammengestellt. Die jeweiligen Ausgaben können jederzeit durch weitere Add-Ons ergänzt werden.
Seite: 28/152 Arbeiten mit SiSy, allgemein 3.7.3 Add-Ons hinzufügen Für das Hinzufügen von Add-Ons nutzen Sie den Menüpunkt Einstellungen/Add-On hinzufügen. Wählen Sie im Add-On Dialog die Schaltfläche „Hinzufügen“. SiSy Add-Ons besitzen die Dateierweiterung *.exp. Add-On auswählen und installieren Installation bestätigen Hinweis: Für die Installation von Add-Ons sollten Sie Administratorrechte besitzen.
Arbeiten mit SiSy, allgemein Seite: 29/152 3.8 LibStore LibStore ist eine online-Sammlung von Vorlagen, Mustern, Beispielen und Bibliotheken. Diese werden Ihnen bei der Arbeit mit SiSy angeboten, sobald bei der Modellierung im jeweiligen Diagramm LibStore verfügbar ist und Sie online sind. Die Nutzung der im SiSy-LibStore zur Verfügung gestellten Inhalte ist, wenn durch den Autor nicht anderweitig geregelt, an die Lizenzbedingungen Ihrer SiSy-Version gebunden. 3.8.
Seite: 30/152 Arbeiten mit SiSy, allgemein 3.9 Die Hilfefunktionen in SiSy Nutzen Sie die zahlreichen Hilfen und Vorlagen, die SiSy dem Entwickler bietet! 3.9.1 Der Assistent Der Assistent ist hilfreich bei der Unterstützung und Führung des Nutzers im Umgang mit SiSy. Er befindet sich standardmäßig im linken, unteren Bildschirmbereich. Der Assistent kann über die Werkzeugleiste ( -Symbol) geöffnet werden, falls dies nicht beim Programmstart erfolgte. Der Assistent begleitet Sie im gesamten Projekt.
Arbeiten mit SiSy, allgemein Seite: 31/152 3.9.2 Die Online-Hilfe Bei der Eingabe von Quellcode im dafür vorgesehenen Editorfenster werden reservierte Worte (Bezeichner, Schlüsselworte) der gewählten Programmiersprache durch verschiedenfarbiges Einfärben (Syntaxfarben) hervorgehoben. Zu den hervorgehobenen Bezeichnern existiert in der Regel auch eine kurze Online-Hilfe und eine ausführlichere Hilfe.
Seite: 32/152 Arbeiten mit SiSy, allgemein Befehlshilfe Bei der Eingabe von Befehlen wird in der Regel die Bedeutung bzw. Funktion des Befehls und ein kurzes Syntaxbeispiel eingeblendet. Durch drücken der Taste „STRG“ sowie Klick auf den Befehl öffnet SiSy eine Hilfedatei mit dem entsprechenden ausführlichen Hilfethema. 3.9.3 Die allgemeine Hilfe SiSy bietet neben der direkten Hilfe bei der Eingabe von Schlüsselworten auch eine allgemeine Hilfe an. Benutzerhandbuch SiSy © Laser & Co.
Arbeiten mit SiSy, allgemein Seite: 33/152 3.9.4 SiSy Code Vervollständigung Der Codegenerator ist eine integrierte Hilfe in SiSy. Vorteilhaft erweist sich diese Hilfe bei der Generierung des Quellcodes aus einem Programmablaufplan sowie bei der Arbeit mit Klassendiagrammen. Des Weiteren fungiert er als Assistent zum Erstellen von Assembler- und C-Codes für die Programmierung von Mikrocontrollern, was die fehlerhafte Codeeingabe minimiert.
Seite: 34/152 Entwicklung eines kleinen Programms 4 Entwicklung eines kleinen Programms SiSy bietet die Möglichkeit, Programme in einem konventionellen Zeileneditor zu erstellen und zu übersetzen. Für den Einstieg bietet sich die einfache Programmierung an, ein „kleines Programm“. 4.
Entwicklung eines kleinen Programms Seite: 35/152 Ziehen Sie per Drag & Drop ein Objekt "kleines Programm" in das Diagrammfenster. Es öffnet ein Dialogfenster; oder klicken Sie mit der rechten Maustaste auf das Objekt und wählen im Kontextmenü „Definieren“. Vergeben Sie den Namen „Welt“ und wählen die Sprache „C/C++ Konsole (32 Bit)“ aus. Wechseln Sie zur Registerkarte „Programm gerüst“ und laden die Grundstruktur eines C-Programms (Struktur laden). Schließen Sie den Dialog mit „OK“.
Seite: 36/152 Entwicklung eines kleinen Programms 4.2 Vorgehen für AVR Programme Hinweis: Dieses Beispiel ist erstellt mit der Ausgabe SiSy AVR. Zielstellung In dem ersten AVR Beispielprogramm sollen die drei LED’s auf dem myAVR Board nacheinander aufleuchten und damit ein „Lauflicht“ erzeugen. Die Programmiersprache ist Assembler. Aufgabe: Entwickeln Sie eine Mikrocontrollerlösung, bei der auf dem myAVR Board die 3 LEDs nacheinander aufleuchten. Schaltung: Port D.2 = rote LED Port D.3 = grüne LED Port D.
Entwicklung eines kleinen Programms Seite: 37/152 Den folgenden Dialog mit der Info „Die Einstellungen wurden übernommen“ bestätigen Sie. Dann wählen Sie die verwendete Taktrate Ihres Mikrocontrollers aus; klicken Sie auf „Fertig stellen“. Hinweis: Bei jedem neuen Projekt müssen die Grundeinstellungen zur verwendeten Zielplattform vorgenommen werden (Mikrocontrollertyp, Taktrate, Programmer und I/O-Port).
Seite: 38/152 Entwicklung eines kleinen Programms Zielplattform und Programmer einstellen Kontrollieren Sie auf der Registerkarte „Extras (AVR)“ den ausgewählten Mikrocontroller. Die Option „Vorgaben benutzen“ überträgt automatisch die Grundeinstellungen (Mikrocontrollertyp, Taktrate, Programmer und I/O-Port) des Projektes in die lokalen Einstellungen. Sollen die lokalen Einstellungen unter „Extras (AVR)“ von den Projekteinstellungen abweichen, muss die Option „Vorgaben benutzen“ abgeschaltet werden.
Entwicklung eines kleinen Programms Seite: 39/152 ;+----------------------------------------------------------------------------;| Title : Assembler Grundgerüst für ATmega8 ;+----------------------------------------------------------------------------;| Prozessor : ATmega8 ;| Takt : 3,6864 MHz ;| Sprache : Assembler ;+----------------------------------------------------------------------------.include "AVR.
Seite: 40/152 Entwicklung eines kleinen Programms ;-------------------------------------------------------------------------------;* Titel :Lauflicht für myAVR Board ;* Prozessor :ATmega8 mit 3,6864 MHz ;* Schaltung :PORT D.2 bis PORT D.4 an LED 1 bis 3 ;* Datum :31.01.2011 ;* Autor :Dipl. Ing. Päd. Alexander Huwaldt ;-------------------------------------------------------------------------------.include "avr.
Entwicklung eines kleinen Programms Seite: 41/152 Hardware anschließen und brennen Das myAVR Board verfügt über eine ISP (In System Programming) Schnittstelle. Der Prozessor muss also nicht für die Programmierung aus dem System entfernt werden, um ihn in einem gesonderten Programmiergerät zu brennen, sondern kann in dem myAVR Board direkt programmiert werden. Dazu verbinden Sie das myAVR Board über das Programmierkabel mit dem USB-Port Ihres Rechners. Zum Brennen wählen Sie die Schaltfläche „Brennen“.
Seite: 42/152 Entwicklung eines kleinen Programms Mikrocontrollerlösung testen Für den Test des Programms ist es nötig, den Port D mit den LEDs zu verbinden. • Wenn vorhanden, ziehen Sie die Batterie bzw. das Netzteil und das Programmierkabel ab. • Verbinden Sie die LEDs mit dem Prozessorport D entsprechend der Abbildung. Nutzen Sie die Patchkabel! • Prüfen Sie die Verbindungen und schließen Sie die Batterie/das Netzteil oder das Programmierkabel wieder an und nehmen die Mikrocontrollerlösung in Betrieb.
Entwicklung eines kleinen Programms Seite: 43/152 4.3 Vorgehen für ARM Produkte Hinweis: Dieses Beispiel ist erstellt mit der Ausgabe SiSy ARM. Zielstellung In dem ersten C-Programm sollen zwei LEDs auf dem STM32F4-Discovery in kurzen Zeitabständen aufleuchten und damit ein „Blinklicht“ erzeugen. Ein neues Projekt anlegen Starten Sie SiSy und wählen Sie „Assistent öffnen“. Aktivieren Sie im SiSy-Assistent den Menüpunkt „Neues Projekt anlegen“ und vergeben Sie den Projektnamen „Hallo_ARM“.
Seite: 44/152 Entwicklung eines kleinen Programms Über die Registerkarte „Extras (ARM)“ treffen Sie die Hardware-Auswahl und aktivieren die Schaltfläche „Vorgabe laden“. In unserem Beispiel ist die Hardware „STM32F4-Discovery“. Programmgerüst laden, Quellcode erstellen Über die Registerkarte „Programmgerüst“ können Sie das folgende Grundgerüst für ein ARM Programm laden; in der Registerkarte „Quellcode“ können Sie den Quellcode eigenständig eintragen.
Entwicklung eines kleinen Programms Seite: 45/152 Quellcode in C erstellen Das Blinklicht soll über die LEDs angezeigt und von dem Prozessorport GPIOD gesteuert werden. Die Realisierung erfolgt über GPIO Pin 12 und 13. Dieses wird mit dem Befehl Bit-Rotation nach rechts verschoben und an den Port GPIOD des Prozessors ausgegeben. Auf Grund der Prozessorgeschwindigkeit muss die Ausgabe des Blinklichtes für unser Auge verzögert werden. Geben Sie folgenden Quellcode ein bzw.
Seite: 46/152 Entwicklung eines kleinen Programms Kompilieren und Linken Der eingegebene Quellcode muss nun in Maschinencode für den ARM-Prozessor übersetzt werden. Wählen Sie dazu die Schaltflächen „Kompilieren“ und „Linken“. Bei fehlerfreier Übersetzung liegt das Programm als „Blinklicht.hex“ vor und kann auf den FLASH-Programmspeicher des Prozessors gebrannt werden. Nur kompilieren *.cc Datei wird erstellt Nur linken *.hex Datei wird erstellt *.
Entwicklung eines kleinen Programms Seite: 47/152 Bei erfolgreichem Brennvorgang erhalten Sie im Ausgabefenster folgende Meldung: Mikrocontrollerlösung testen Für den Programmtest ist es nötig, dass das STM32F4-Discovery mit dem PC verbunden ist. • Es ist an den LEDs ein Blinklicht zu sehen. • Gratulation! Das ist Ihre erste Mikrocontrollerlösung mit dem STM32F4-Discovery. Die Datenkommunikation mit der Mikrocontrollerlösung erfolgt über das ControlCenter. Vergleichen Sie dazu den Abschnitt 10.
Seite: 48/152 Entwicklung eines großen Programms 5 Entwicklung eines großen Programms 5.1 Einleitung Für die Entwicklung eines größeren Programms ist es unzweckmäßig, alle Befehle in eine Datei (Unit) zu schreiben. Der Grund dafür ist, dass bei mehr als 60 bis 80 Zeilen Quellcode die Übersicht über die Programmstruktur verloren geht. Selbst die Unterteilung in Unterprogramme reicht ab einer bestimmten Größe von Programmen nicht mehr aus. SiSy erlaubt zwar in kleinen Programmen bzw.
Entwicklung eines großen Programms Seite: 49/152 Klicken Sie mit der rechten Maustaste auf das Symbol und wählen im Kontextmenü „Nach unten“. Hier ziehen Sie zwei Units in das Diagramm und nennen diese „Main“ und „UP1“. In dem Dialogfenster zur Definition von „UP1“ setzen Sie einen Haken in den beiden Zeilen - „Headerdef-Datei erzeugen, Datei mit Deklaration wird generiert“ - „Funktionsdef-Datei erzeugen (.cpp)“ 5.2.
Seite: 50/152 Entwicklung eines großen Programms Zum Ausführen des Programms klicken Sie auf das Aktionsmenü in der Objektbibliothek. Es stehen verschiedene Möglichkeiten zur Auswahl. Nach „>>> Erstellen und Ausführen“ erscheint folgende Ausgabe auf dem Bildschirm. Benutzerhandbuch SiSy © Laser & Co.
Entwicklung eines großen Programms Seite: 51/152 5.3 Vorgehen für AVR Programme Hinweis: Dieses Beispiel ist erstellt mit der Ausgabe SiSy AVR. 5.3.1 Zielstellung Es ist eine Mikrocontroller-Anwendung mit der Technik des großen Programms zu entwerfen und in der Sprache Assembler zu realisieren. Das Programm ist in mehrere Units zu teilen. Aufgabe: Entwickeln Sie eine Mikrocontrollerlösung, bei der ein Taster eine LED schaltet. Schaltung: Port D.2 = Taster 1 Port B.0 = LED 5.3.
Seite: 52/152 Entwicklung eines großen Programms 5.3.3 Hauptprogramm erstellen Öffnen Sie das Diagrammfenster für ein großes Programm, indem Sie mit der rechten Maustaste auf das Symbol klicken und aus dem Kontextmenü „Nach unten (öffnen)“ wählen. Legen Sie eine Unit an. Diese Unit bildet das Hauptprogramm. Nennen Sie die Unit „main“. Damit wird durch die Entwicklungsumgebung erkannt, dass es sich hierbei um das Hauptmodul handelt.
Entwicklung eines großen Programms Seite: 53/152 5.3.4 Units (Unterprogramme) anlegen und verknüpfen Zur Gliederung des großen Programms wird dieses in mehrere kleine Einheiten (Units bzw. Module) zerlegt. Diese Einheiten werden nach fachlichen/inhaltlichen Gesichtspunkten gebildet. So kann man alle Initialisierungsaufgaben in der Unit „init“ zusammenfassen. Eine Unit kann aus einer Funktion/Unterprogramm oder mehreren Funktionen/Unterprogrammen bestehen.
Seite: 54/152 Entwicklung eines großen Programms Die Unit „main“ enthält damit nachfolgenden Quellcode: ;+---------------------------------------------------------------;| Title : Assembler Grundgerüst für ATmega8 ;+---------------------------------------------------------------;| Funktion : ... ;| Schaltung : ... ;+---------------------------------------------------------------;| Prozessor : ATmega8 ;| Takt : 3,6864 MHz ;| Sprache : Assembler ;| Datum : ... ;| Version : ... ;| Autor : ...
Entwicklung eines großen Programms Seite: 55/152 Übersetzen, Brennen und Test den entspreZum Übersetzen, Brennen und Testen wählen Sie im Aktionsmenü chenden Menüpunkt. Im Ausgabefenster erscheint das Protokoll der ausgeführten Aktionen. Des Weiteren öffnet sich für kurze Zeit das myAVR ProgTool. Kompiliere die Datei main.s. Linke die Datei grossesProgramm.elf. brenne Daten neu Öffne myAVR ControlCenter Ende.
Seite: 56/152 Entwicklung eines großen Programms 5.3.5 Interrupt-Service-Routine (ISR) im großen Programm Interrupt-Service-Routinen (im weiteren ISR) sind besondere Formen von Unterprogrammen. Diese werden von einer Interruptquelle des Mikrocontrollers (Timer, ADC, UART, usw.) bei entsprechenden Ereignissen automatisch an beliebiger Stelle im Programmfluss aufgerufen (Unterbrechung, engl. Interrupt). Es ist nötig, die Interruptquelle entsprechend zu konfigurieren.
Entwicklung eines großen Programms Seite: 57/152 5.4 Vorgehen für ARM Programme Hinweis: Dieses Beispiel ist erstellt mit der Ausgabe SiSy ARM. 5.4.1 Zielstellung Das Beispiel aus Kapitel 4.3 soll jetzt mit der Technik des großen Programms (Zerlegen in mehrere Units) erstellt werden, ebenfalls in der Programmiersprache C. Aufgabe: Entwickeln Sie eine Mikrocontrollerlösung, bei der ein Blinklicht erzeugt wird. Schaltung: GPIOD.13 = LED GPIOD.
Seite: 58/152 Entwicklung eines großen Programms 5.4.3 Hauptprogramm erstellen Öffnen Sie das Diagrammfenster für ein großes Programm (rechte Maustaste -> „Nach unten“). Legen Sie eine Unit „main“ an. Diese Unit bildet das Hauptprogramm. Damit wird durch die Entwicklungsumgebung erkannt, dass es sich hierbei um das Hauptmodul handelt. Erstellen Sie hier das Hauptprogramm, nutzen Sie die angebotene Vorlage „Grundgerüst“ und aktivieren Sie „Struktur laden“.
Entwicklung eines großen Programms Seite: 59/152 5.4.4 Units (Unterprogramme) anlegen und verknüpfen Zur Gliederung des großen Programms wird dieses in mehrere kleine Einheiten (Units/ Module) zerlegt. Diese Einheiten werden nach fachlichen/inhaltlichen Gesichtspunkten gebildet. So kann man alle Initialisierungsaufgaben in der Unit „init“ zusammenfassen. Eine Unit kann aus einer Funktion/Unterprogramm oder mehreren Funktionen/Unter programmen bestehen.
Seite: 60/152 Entwicklung eines großen Programms Ergänzen Sie die Unit „sysTick“ und die Unit „delay“. Tragen Sie in diese folgenden Quellcode ein. In die Unit „sysTick“: //---------------------------------------#include "sysTick.h" extern "C" void SysTickFunction(void) { // Application SysTick GPIO_ToggleBits(GPIOD,GPIO_Pin_13); } //------------------------------ In die Unit „delay“: //-----------------------------#include "delay.
Entwicklung eines großen Programms Seite: 61/152 Damit hat das Programm nachfolgenden Quellcode: Unit „main“ //-----------------------------------------------------------------// Titel : Grundgerüst einer einfachen ARM C Anwendung in SiSy //-----------------------------------------------------------------// Funktion : ... // Schaltung : ... //-----------------------------------------------------------------// Hardware : STM32F4 Discovery // Takt : 168 MHz // Sprache : ARM C // Datum : ... // Version : ...
Seite: 62/152 Entwicklung eines großen Programms Unit init.h #include #include "stm32f4xx.h" void initApplication(); Unit delay.cc #include "delay.h" void delay(vu32 nCount) { while(nCount) { nCount--; } } Unit delay.h #include #include "stm32f4xx.h" void delay(vu32); Unit sysTick.cc #include "sysTick.h" extern "C" void SysTickFunction(void) { // Application SysTick GPIO_ToggleBits(GPIOD,GPIO_Pin_13); } Unit sysTick.h #include #include "stm32f4xx.
Entwicklung eines großen Programms Seite: 63/152 Über das ControlCenter kann die Datenkommunikation mit dem STM32F4-Discovery erfolgen. Überprüfen Sie gegebenenfalls die Einstellungen entsprechend Absatz 10.2, „Das ControlCenter“. 5.4.6 Interrupt-Service-Routine (ISR) im großen Programm Interrupt-Service-Routinen (im weiteren ISR) sind besondere Formen von Unterprogrammen. Diese werden von einer Interruptquelle des Mikrocontrollers (Timer, ADC, UART, usw.
Seite: 64/152 Entwicklung Programmablaufplan für AVR Programme 6 Entwicklung Programmablaufplan für AVR Programme Hinweis: Dieses Beispiel kann mit der Ausgabe SiSy Microcontroller ++ und SiSy AVR erstellt werden. 6.1 Einleitung Für die Entwicklung eines Programmablaufplans (PAP) sind konkrete Vorstellungen über die Systemlösung und Kenntnis der Hardware nötig. Ein Programmablaufplan kann aus einer genauen Aufgabenstellung abgeleitet werden.
Entwicklung Programmablaufplan für AVR Programme Seite: 65/152 Danach öffnet die typische Benutzeroberfläche von SiSy mit einem leeren Vorgehensmodell und Sie können mit der Arbeit beginnen. Ziehen Sie als nächstes aus der Objektbibliothek ein Objekt vom Typ „PAP“ in das leere Diagramm. Benennen Sie den PAP mit „Aufgabe1“. Beachten Sie die Einstellungen zum Controllertyp und Programmieradapter unter „Extras (AVR)“; vgl. Abbildung.
Seite: 66/152 Entwicklung Programmablaufplan für AVR Programme 6.2.3 Grundstruktur laden Wenn ein Diagramm leer ist, bietet SiSy typische Vorlagen zum Importieren an. Diese können dann weiterbearbeitet werden. Wählen Sie die Diagrammvorlage „Grundgerüst Mainprogramm …“. Die Abbildung „Grundgerüst PAP“ zeigt den PAP zu diesem Grundgerüst. Diagrammvorlagen Grundgerüst PAP 6.2.4 Logik entwerfen Für die Abbildung der Programmlogik im PAP muss die Vorlage um die fehlenden Elemente ergänzt werden.
Entwicklung Programmablaufplan für AVR Programme Seite: 67/152 Zeichnen Sie den nebenstehenden Programmablaufplan (vgl. Abbildung „Logikentwurf im PAP“): 6.2.5 Befehle eingeben Nachfolgend soll aus dem Programmablaufplan Assemblerquellcode generiert werden. Dazu ist es nötig, die einzelnen Elemente des PAP mit den entsprechenden Assembleranweisungen zu versehen. Dafür gibt es mehrere Möglichkeiten.
Seite: 68/152 Entwicklung Programmablaufplan für AVR Programme Die zweite Möglichkeit besteht beim Selektieren von Elementen über den Quellcodeeditor oberhalb des Diagrammfensters, vgl. Abbildung „Quellcodefenster im PAP“ und Abbildung „Quellcodeeingabe PAP“. Quellcodefenster im PAP Quellcodeeingabe PAP Geben Sie die gezeigten Quellcodes in die Objekte ein! Bedingungen haben spezielle Vorlagen, die eine Codegenerierung bei übersichtlichem Programmablaufplan vereinfachen.
Entwicklung Programmablaufplan für AVR Programme Seite: 69/152 Auch das Element „IN/OUT“ verfügt über spezifische Vorlagen. Diese sind gegebenenfalls mit zu ergänzen. Dazu sind spitze Klammern als Platzhalter in den Vorlagen eingefügt. Vorlagen für IN/OUT Ergänzen Sie den Quellcode der gezeigten Elemente! 6.2.
Seite: 70/152 Entwicklung Programmablaufplan für AVR Programme Auswahl aus Aktionsmenü Funktionalitäten des Aktionsmenüs Benennung Funktion Alles Ausführen Quellcode generieren, kompilieren, linken, brennen Nur Quelltext erstellen Quellcode generieren mit allen Marken Kompilieren Quellcode zu Objektdatei übersetzen Linken Objektdatei zu ELF-Datei binden Brennen ELF-Datei an den Controller übertragen Testen ControlCenter öffnen Quelltextdatei öffnen Quellcodedatei öffnen Quelltext bereinigen Quellcode von
Entwicklung Programmablaufplan für AVR Programme Seite: 71/152 Fehlerbehandlung Nachdem das Programm erfolgreich übersetzt und auf den Controller übertragen wurde, kann die Anwendung getestet werden. Stecken Sie auf dem Board die vorgegebenen Verbindungen, nutzen Sie die Patchkabel. © Laser & Co.
Seite: 72/152 Entwicklung Programmablaufplan für AVR Programme 6.3 Unterprogrammtechnik im PAP Unterprogramme sind ein wichtiges Gestaltungsmittel für übersichtliche Mikrocontrollerprogramme. Sie werden für in sich abgeschlossene Aufgaben (Verarbeitungsschritte) benutzt, die auch mehrfach im Gesamtprogramm genutzt werden können. 6.3.1 Anlegen eines Unterprogramms Ziehen Sie den Objekttyp „Unterprogramm“ aus der Objektbibliothek in das gewünschte Diagramm.
Entwicklung Programmablaufplan für AVR Programme Seite: 73/152 START Register sichern ... Register wieder herstellen RET push push push push r16 r17 r18 r19 pop r19 pop r18 pop r17 pop r16 6.3.2 Ein Unterprogramm aufrufen Das Unterprogrammsymbol muss zum Aufruf an der entsprechenden Position im Programmablaufplan eingefügt werden. Der Codegenerator erzeugt dann entsprechend einen Unterprogrammaufruf und den Code für das Unterprogramm selbst.
Seite: 74/152 Entwicklung Programmablaufplan für AVR Programme 6.3.3 Unterprogramme mehrmals benutzen Ein wesentliches Merkmal von Unterprogrammen ist, dass diese von verschiedenen Stellen im Programm aufgerufen (call) werden können und auch dorthin zurückkehren (return). Um diese Möglichkeit zu nutzen, bietet SiSy das Anlegen von Referenzen. Vergleichen Sie dazu Absatz 3.2. Um ein Unterprogramm zu referenzieren (wiederholend zeigen und einbinden) gehen Sie wie folgt vor: 1.
Entwicklung Programmablaufplan für AVR Programme Seite: 75/152 6.4 Interrupt-Service-Routinen (ISR) im PAP Interrupt-Service-Routinen (im weiteren ISR) sind besondere Formen von Unterprogrammen. Diese werden von einer Interruptquelle des Mikrocontrollers (Timer, ADC, UART, usw.) bei entsprechenden Ereignissen automatisch an beliebiger Stelle im Programmfluss aufgerufen (Unterbrechung, engl. Interrupt). Es ist demzufolge nicht vorgesehen, eine ISR in den Programmfluss zu integrieren.
Seite: 76/152 Entwicklung Programmablaufplan für AVR Programme 6.5 Daten im PAP Konstante Daten, die im Programmspeicher (FLASH) des Mikrocontrollers abgelegt werden, können als Datenobjekt deklariert werden. Die im Datenobjekt deklarierten Daten werden durch den Codegenerator immer ans Ende des Quellcodes gestellt. Die zu generierende Marke/Marken für die Datenelemente können vom Entwickler frei gewählt werden. 6.5.
Programmentwicklung aus einem Struktogramm Seite: 77/152 7 Programmentwicklung aus einem Struktogramm 7.1 Einleitung Struktogramme (SG) oder auch Nassi-Shneiderman-Diagramme sind ein Entwurfsmittel der strukturierten Programmierung. Strukturiert meint in dem Fall, dass zur Realisierung eines Algorithmus auf das Verwenden von Sprunganweisungen (Goto, Jump) verzichtet wird.
Seite: 78/152 Programmentwicklung aus einem Struktogramm 7.2 Vorgehen für AVR Programme Die Lösung der folgenden Aufgabe soll die Arbeitsweise und den Umgang mit dem Struktogrammeditor in SiSy verdeutlichen. Die Programmiersprache ist C, Referenzhardware ist ein myAVR Board MK2 Hinweis: Dieses Beispiel kann mit der Ausgabe SiSy Microcontroller ++ und SiSy AVR erstellt werden. 7.2.1 Zielstellung Es soll eine Mikrocontrollerlösung entwickelt werden, bei der auf Tastendruck eine LED eingeschaltet wird.
Programmentwicklung aus einem Struktogramm Seite: 79/152 7.2.3 Struktogramm entwickeln Für die Entwicklung des Struktogramms, muss das Struktogrammfenster geöffnet werden; rechte Maustaste -> Kontextmenü -> Nach unten (öffnen). Beim Einfügen einzelner Struktogramm-Elemente in das Struktogramm sind die möglichen Positionen grün unterlegt. Bewegen Sie den Mauszeiger an die gewünschte Stelle, die grüne Linie wird zur Kontrolle breiter.
Seite: 80/152 Programmentwicklung aus einem Struktogramm 3. Ergänzen Sie die Mainloop durch eine „Alternative“ per Drag & Drop. Achten Sie darauf, dass die Alternative innerhalb der Mainloop liegt. Geben Sie den Titel und die Bedingung für die Alternative ein. Doppelklick, Definieren 4. Als nächstes sind die Aktionen (DO-Elemente) in der Alternative zu ergänzen. Ziehen Sie dafür erneut jeweils eine „Verarbeitungsroutine“ in die Alternative des Struktogramms. 5.
Programmentwicklung aus einem Struktogramm Seite: 81/152 6. Generieren Sie den Quellcode für dieses Struktogramm und lassen Sie sich den Quellcode anzeigen. 7.2.4 Programmtest Verbinden Sie das Board mit dem PC und aktivieren Sie aus dem Aktionsmenü den Befehl „>>> Erstellen“, damit brennen Sie das Programm auf den Controller. Es öffnet das myAVR ProgTool und zeigt das Protokoll an. Für den Test des Programms stecken Sie auf dem Board die Verbindungen. © Laser & Co.
Seite: 82/152 Entwicklung von Klassendiagrammen 8 Entwicklung von Klassendiagrammen 8.1 Einleitung Mit objektorientierten Programmiersprachen hat der Entwickler mächtige Sprachmittel, um komplexe Systeme realisieren zu können. C++ ist eine weit verbreitete objektorientierte Standardsprache. Als Visualisierungsmittel objektorientierter Programme gilt die international standardisierte Beschreibungssprache UML (Unified Modeling Language).
Entwicklung von Klassendiagrammen Seite: 83/152 8.2 Vorgehensweise für PC- Programme mit SVL Hinweis: Für dieses Beispiel benötigen Sie eine Ausgabe mit dem Add-On SVL 8.2.1 Zielstellung Die Funktion des nachfolgenden Programms ist es, auf dem Bildschirm ein Fenster mit zwei Schaltflächen zu erstellen, welche das Fenster schließen bzw. eine Message Box erzeugen. 8.2.2 Vorbereitung Starten Sie SiSy und wählen Sie „neues Projekt erstellen“.
Seite: 84/152 Entwicklung von Klassendiagrammen Mit der Aktion „Erstellen & Ausführen“, welche Sie über das Aktionsmenü erreichen, wird der dazugehörige Quellcode generiert, das Programm kompiliert und ausgeführt. Als Ergebnis erhalten Sie ein Fenster, welches bereits eine Schaltfläche für das Schließen des Fensters besitzt. Diesem Fenster kann man nun beliebig viele Controls, d.h. Elemente (Schaltflächen, Checkbox, Textfeld etc.
Entwicklung von Klassendiagrammen Seite: 85/152 8.2.5 Quellcode hinzufügen Damit die neu erzeugte Schaltfläche per Mausklick eine MessageBox aufruft, müssen Sie der Funktion OnBtnMessage() noch den entsprechenden Quellcode hinzufügen. Dazu wählen Sie in der Klasse „MainWnd“ die Funktion OnBtnMessage() aus und fügen folgenden Quellcode ein: messageBox("Mein erstes SVL-Programm","SVL"); 8.2.
Seite: 86/152 Entwicklung von Klassendiagrammen 8.3 Vorgehensweise für AVR Programme Hinweis: Dieses Beispiel kann mit der Ausgabe SiSy Microcontroller ++ und SiSy AVR erstellt werden. 8.3.1 Zielstellung Es soll eine Mikrocontrollerlösung entwickelt werden, bei der auf Tastendruck eine LED eingeschaltet wird. Die Realisierung dieser Aufgabe soll mit dem Klassendiagramm in SiSy erfolgen. Schaltung: Port B.0 = Taster Port B.1 = LED 8.3.
Entwicklung von Klassendiagrammen Seite: 87/152 8.3.3 Grundstruktur laden Zur Entwicklung des Klassenmodells öffnen Sie das Klassendiagramm (auf dem Objekt rechte Maustaste -> Kontextmenü -> Nach unten ). Laden Sie die Diagrammvorlage „Grundgerüst (GGKC1101)“ bzw. aus LibStore „AVR C++ Grundgerüst ohne Framework“. do { // hier // Eingabe // Verarbeitung // Ausgabe } while (true); © Laser & Co.
Seite: 88/152 Entwicklung von Klassendiagrammen Hinweis: Die Struktur einer objektorientierten Mikrocontrollerlösung in SiSy erfordert im Klassenmodell eine Applikationsklasse (Hauptklasse), die sich dadurch auszeichnet, dass diese über eine Methode (Operation) mit dem Namen main verfügt. Der Codegenerator erzeugt eine Instanz diese Klasse und ruft die Main-Methode auf. Beispiel: #define cpp_Test_UML #define F_CPU 3686400 #include main (void) { Controller MyApp; MyApp.main(); } 8.3.
Entwicklung von Klassendiagrammen Seite: 89/152 Zum Erstellen dieses Klassenmodells sind folgende Arbeitsschritte nötig: 1. Klassen einfügen und definieren, ziehen Sie dazu das Objekt vom Typ „Klasse“ per Drag & Drop aus der Objektbibliothek in das Diagramm. Definieren Sie den Namen der Klasse und setzen die Option „diese Klasse generieren“. 2. Klassen verbinden, selektieren Sie die Klasse, von der aus eine Verbindung gezogen werden soll.
Seite: 90/152 Entwicklung von Klassendiagrammen 3. Operationen und Attribute einfügen und definieren, ziehen Sie dazu ein Objekt vom Typ „Operation“ oder „Attribut“ aus der Objektbibliothek auf die Klasse, in die das Attribut oder die Operation eingefügt werden soll. Bestätigen Sie die Sicherheitsabfrage zum Einfügen des Elementes. Definieren Sie Zugriff (Sichtbarkeit), Name, Typ und Parameter der Operation bzw. Zugriff (Sichtbarkeit), Name, Typ und Initialwert des Attributes.
Entwicklung von Klassendiagrammen Seite: 91/152 Hinweis: SiSy kennt generischen Strukturen, Templates. Es sind Vorlagen, die zum Übersetzungszeitpunkt etwas Konkretes erstellen. Die Generierung der konkreten Klassen übernimmt dabei der Codegenerator. Die Templates finden sich im Paket Tempos und deren Unterordner. Tempos kann mit konventionellen Klassen durchaus gemischt eingesetzt werden. Die gewünschten Tempos-Pakete finden Sie über den Navigator (rechte Maustaste/UML-Pakete). 8.3.
Seite: 92/152 Entwicklung von Klassendiagrammen 8.3.6 Übersetzen, Brennen und Testen Die Codegenerierung aus dem UML Klassendiagramm, das Kompilieren, Linken und Brennen kann über das Aktionsmenü gestartet werden. Sie erhalten im Ausgabefenster ein Protokoll der ausgeführten Aktionen. Benutzerhandbuch SiSy © Laser & Co.
Entwicklung von Klassendiagrammen Seite: 93/152 8.3.7 Interrupt-Service-Routinen (ISR) im Klassendiagramm Interrupt-Service-Routinen (im weiteren ISR) werden in AVR C++ durch das Schlüsselwort ISR gekennzeichnet. Sie bilden eigenständige Funktionen. Die Besonderheit bei der Realisierung einer ISR liegt darin, dass es sich hier um ein C-Makro handelt und nicht um eine echte Funktion. Diese können also keine Methode einer Klasse sein.
Seite: 94/152 Entwicklung von Klassendiagrammen 8.4 Vorgehensweise für ARM Programme Hinweis: Dieses Beispiel kann mit der Ausgabe SiSy Microcontroller ++ und SiSy ARM erstellt werden. 8.4.1 Zielstellung Es soll eine Mikrocontrollerlösung mit einem Klassendiagramm entwickelt werden, bei der auf Tastendruck eine LED eingeschaltet wird. Die Referenzhardware ist ein STM32F4-Discovery. Schaltung: Port GPIOA.0 = Taster Port GPIOD.13 = LED. 8.4.
Entwicklung von Klassendiagrammen Seite: 95/152 Definieren 8.4.3 Grundstruktur laden Zur Entwicklung des Klassenmodells muss das Klassendiagramm geöffnet werden. Wählen Sie dazu auf dem Objekt rechte Maustaste -> Kontextmenü -> Nach unten. Es öffnet das Dialogfenster mit Vorlagen oder LibStore. do { //hier //Eingabe //Verarbeitung //Ausgabe } while (true); © Laser & Co.
Seite: 96/152 Entwicklung von Klassendiagrammen Hinweis: Die Struktur einer objektorientierten Mikrocontrollerlösung in SiSy erfordert im Klassenmodell eine Applikationsklasse (Hauptklasse), die sich dadurch auszeichnet, dass diese über eine Methode (Operation) mit dem Namen main verfügt. Der Codegenerator erzeugt eine Instanz dieser Klasse und ruft die Main-Methode auf. Systick::config(SystemCoreClock/100); // Led initialisieren Rcc rcc; rcc.ahb1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE); led.
Entwicklung von Klassendiagrammen Seite: 97/152 8.4.4 Systemstruktur entwerfen Die Systemstruktur einer objektorientierten Anwendung bildet die Objekte und deren Beziehungen im Programm ab, welche im realen System als physische Elemente vorhanden sind. Als Bauplan der Objekte dienen Klassendeklarationen, welche die Eigenschaften (Attribute) und das Verhalten (Methoden/Operationen) der Objekte beschreiben.
Seite: 98/152 Entwicklung von Klassendiagrammen Zum Erstellen dieses Klassenmodells sind folgende Arbeitsschritte nötig: 1. Klassen einfügen und definieren, ziehen Sie dazu ein Objekt vom Typ „Klasse“ per Drag & Drop aus der Objektbibliothek in das Diagramm. Definieren Sie den Namen der Klasse und setzen die Option „diese Klasse generieren“. Führen Sie diese Aktion für „Taster“ und „Led“ aus. 2. Klassen verbinden, selektieren Sie die Klasse, von der aus eine Verbindung gezogen werden soll.
Entwicklung von Klassendiagrammen Seite: 99/152 3. Operationen und Attribute einfügen und definieren, ziehen Sie dazu ein Objekt vom Typ „Operation“ oder „Attribut“ aus der Objektbibliothek auf die Klasse, in die das Attribut oder die Operation eingefügt werden soll. Bestätigen Sie die Sicherheitsabfrage zum Einfügen des Elementes. Definieren Sie Zugriff (Sichtbarkeit), Name, Typ und Parameter der Operation bzw. Zugriff (Sichtbarkeit), Name, Typ und Initialwert des Attributes.
Seite: 100/152 Entwicklung von Klassendiagrammen 4. Templates einfügen, klicken Sie mit der rechten Maustaste auf den „Navigator“ und wählen Sie die „UML-Pakete“ aus. Danach folgen Sie der Hierarchie und ziehen das gewünschte Template in das Diagramm. Zuletzt verbinden Sie das Template mit einer Klasse. Vervollständigen Sie das Klassenmodell entsprechend der Abbildung. endgültiger Systementwurf mit dem UML Klassendiagramm Benutzerhandbuch SiSy © Laser & Co.
Entwicklung von Klassendiagrammen Seite: 101/152 8.4.5 Systemverhalten programmieren Die Operationen müssen mit der entsprechenden Logik versehen werden. Sie können den Quellcode der Operationen bearbeiten, indem Sie die gewünschte Operation selektieren und im Beschreibungs- / Quellcodefenster die Befehle eingeben. programmieren selektieren Überprüfen Sie ggf. die Realisierungsparameter. Systick::config(SystemCoreClock/100); // Mainloop led.config(GPIOD, GPIO_Pin_13); taster.
Seite: 102/152 Entwicklung von Klassendiagrammen 8.4.6 Übersetzen, Brennen und Testen Die Codegenerierung aus dem UML Klassendiagramm, das Kompilieren, Linken und Brennen kann über das Aktionsmenü gestartet werden. Verbinden Sie das Board mittels Programmierkabel mit dem PC: Sie erhalten im Ausgabefenster ein Protokoll der ausgeführten Aktionen. Benutzerhandbuch SiSy © Laser & Co.
Entwicklung von Klassendiagrammen Seite: 103/152 8.5 Der Sequenzdiagrammgenerator 8.5.1 Einführung in das Sequenzdiagramm Sequenzdiagramme sind eine wichtige Darstellungstechnik der UML für die Dokumentation des Systemverhaltens und der Interaktion von Objekten. SiSy verfügt über die Möglichkeit aus objektorientiertem Programmcode, wie zum Beispiel dem C++ Quellcode einer Klassenmethode, automatisch das entsprechende Sequenzdiagramm zu generieren.
Seite: 104/152 Entwicklung von Klassendiagrammen Eine Nachricht mit Antwort: Variable = Instanz.Nachricht (Parameter); Explizites Erzeugen einer Instanz mit new: Instanz = new Typ; Explizites Zerstören einer Instanz mit delete: delete Instanz; Eine lokale Instanz: Benutzerhandbuch SiSy © Laser & Co.
Entwicklung von Klassendiagrammen Seite: 105/152 Eine Alternative: Eine Schleife: Nachricht an unbekannten Empfänger: Nachricht an die aktuelle Instanz: © Laser & Co.
Seite: 106/152 Entwicklung von Klassendiagrammen 8.5.3 Sequenzen weiter verwenden Sie können das automatisch erzeugte Sequenzdiagramm weiter verwenden, indem Sie es auf einen Drucker ausgeben oder die Darstellung in die Zwischenablage kopieren um diese zum Beispiel in eine Textverarbeitung einzufügen. 8.5.4 Besonderheiten des SiSy-Sequenzdiagramms Für die direkten Zugriffe auf öffentliche Attribute einer Klasse trifft die UML derzeit keine verbindlichen Regeln.
Programmieren mit dem UML Zustandsdiagramm Seite: 107/152 9 Programmieren mit dem UML Zustandsdiagramm 9.1 Einführung in die Zustandsmodellierung Viele Problemstellungen in der Softwareentwicklung lassen sich als eine Folge von Zuständen und Zustandsübergängen (Zustandsautomat, state machine) verstehen und auch als solche implementieren. Dabei handelt es sich im Quellcode um oft recht aufwendige Fallunterscheidungen bzw. if/else Konstruktionen.
Seite: 108/152 Programmieren mit dem UML Zustandsdiagramm Der Wächter (guard) ist ein Zustandsautomat (state machine). Somit ist der Klasse „Guard“ ein Zustandsattribut zuzuordnen. Dazu muss ein Objekt vom Typ „Zustandsattribut“ per Drag und Drop aus der Objektbibliothek in die betreffende Klasse gezogen werden. Die Zugehörigkeit zum Zustandsdiagramm wird mit der Zusicherung {sm} gekennzeichnet.
Programmieren mit dem UML Zustandsdiagramm Seite: 109/152 bilden. Wird von solchen Basisklassen abgeleitet, sind die Auslöser (trigger) für den Zustandsautomaten bereits implementiert. Für eine schnelle Realisierung der Klassen „Sensor“ und „Actuator“ wird im folgenden Beispiel das myAVR Programmiermodell Tempos benutzt. Dabei müssen den Klassen lediglich geeignete Templates (Muster) aus der Tempos-Bibliothek zugewiesen werden.
Seite: 110/152 Programmieren mit dem UML Zustandsdiagramm Die Zustände des Wächters sollen ON und OFF sein. Dabei wird nach dem Start der Zustand OFF eingenommen. Die Zustandswechsel erfolgen in Abhängigkeit der Sensorwerte. Wird der Zustand OFF eingenommen, muss der Aktor ausgeschaltet werden, wird der Zustand ON eingenommen, ist der Aktor einzuschalten. Während der Zustände ist der Sensor fortlaufend zu überwachen. Im ersten Schritt sind die Zustände zu benennen.
Programmieren mit dem UML Zustandsdiagramm actuator.off(); Seite: 111/152 actuator.on(); Ist das Zustandsmodell erarbeitet, können die nötigen Statements für den Programmcode eingearbeitet werden. Dazu wird die betreffende Aktivität selektiert und im Quellcodeeditor die entsprechenden Befehle eingegeben. Danach kann im dazugehörigen Klassendiagramm (rechte Maustaste Menüpunkt nach oben) das Programm gebildet, übertragen und getestet werden. © Laser & Co.
Seite: 112/152 Zusätzliche Werkzeuge 10 Zusätzliche Werkzeuge 10.1 Einführung Bestimmte Add-Ons installieren als zusätzliche Komponenten externe Programme. Diese sind nach der Installation über den Menüpunkt Werkzeuge erreichbar. 10.2 Das ControlCenter 10.2.1 Einleitung Das ControlCenter ist ein universelles Terminalprogramm zur Kommunikation mit Mikrocontrollerapplikationen, die über eine serielle Schnittstelle (UART) oder USB Anbindung mit virtuellem COM-Port zum PC verfügen.
Zusätzliche Werkzeuge Seite: 113/152 Einstellung zur seriellen Verbindung des Terminals, beim USBBoard die des virtuellen COM-Ports. (siehe Gerätemanager) Power-Control Nur beim Anschluss eines myAVR Boards MK2 bzw. mySmartControl MK2 Programmers verwenden. Power-On / Off Beim Verlassen des ControllCenters kann dem myAVR Board der Zustand Power-On oder OFF zugewiesen werden. Der virtuelle COM-Port steht entsprechend Gerätemanager als Auswahl zur Verfügung.
Seite: 114/152 Zusätzliche Werkzeuge 10.2.3 Kommunikation mit dem Controller Grundlagen (USB-Variante) Das myAVR Board MK2 verfügt über den USB Programmer mySmartUSB MK2. Dieser stellt gleichzeitig einen virtuellen COM-Port für die Kommunikation zur Verfügung. USB-Kabel A/B Beispiel mit myAVR Board MK2 Mini USB-Kabel A/B Schaltung: RxD : D9 TxD : D8 Beispiel mit STM32F4-Discovery und einem mySTM32-Board-F4D Benutzerhandbuch SiSy © Laser & Co.
Zusätzliche Werkzeuge Seite: 115/152 Einstellungen für die seriellen Verbindung Für eine erfolgreiche Kommunikation mit dem myAVR Board ist es wichtig, dass Sender und Empfänger von seriellen Daten die gleichen Parameter für die Datenübertragung konfiguriert haben. Auf der PC Seite werden die Kommunikationsparameter im ControlCenter über die Schaltfläche für die Einstellungen der Verbindung konfiguriert.
Seite: 116/152 Zusätzliche Werkzeuge Daten empfangen vom Controller Das ControlCenter empfängt Daten über den gewählten COM-Port und stellt diese im Protokollfenster dar. Damit können Statusmeldungen, Fehlermeldungen oder auch Messwerte erfasst werden. Die Voraussetzung ist, dass die serielle Verbindung hergestellt (USB Kabel), korrekt konfiguriert und aktiviert wurde.
Zusätzliche Werkzeuge Seite: 117/152 Zeilenbreite und das Zeichen für einen Zeilenumbruch lassen sich auswählen. Es können wichtige/gesuchte Textstellen im Protokollfenster hervorgehoben werden. gesuchtes gesuchtesZeichen Zeichen Der Zahlenmodus Der Zahlenmodus visualisiert die empfangenen Datenbytes (8 Bit, Werte von 0 bis 255) als Dezimal- oder Hexadezimalzahlen. Dezimalzahlen werden dreistellig mit führender Null dargestellt.
Seite: 118/152 Zusätzliche Werkzeuge Es können wichtige/gesuchte Zahlenwerte im Protokollfenster hervorgehoben werden. Hexadezimale Zahlen sind durch den Präfix 0x zu kennzeichnen. Mehrere Werte können mit Leerzeichen getrennt angegeben werden. gesuchte gesuchteWerte Werte Der Grafikmodus Messwerte können auch grafisch visualisiert werden. Dabei werden die Werte fortlaufend und byteweise (Wertebereich 0 bis 255) als Punkte in einem Koordinatensystem visualisiert.
Zusätzliche Werkzeuge Seite: 119/152 Über die Schaltfläche „Einstellungen“ muss der Dateiname und Pfad der Log-Datei angegeben werden. Zusätzlich ist es möglich, das Format und die Blockgröße (Zeilenumbruch) festzulegen. Die Weiterverarbeitung der Daten erfolgt entsprechend der Möglichkeiten der Zielanwendung (z.B.: Öffnen, Importieren oder Zwischenablage). 10.2.5 Daten an den Controller senden Über das ControlCenter können Daten im Text- oder Zahlenformat an den Mikrocontroller gesendet werden.
Seite: 120/152 Zusätzliche Werkzeuge Text senden Es können einzelne Zeichen, aber auch Zeichenketten gesendet werden. Mit der zugehörigen Schaltfläche „Senden“ wird immer der gesamte Inhalt der Eingabezeile „Text“ gesendet. Zahlen senden Zahlenwerte von 0 bis 255 (1 Byte) können einzeln oder als Zahlenfolge gesendet werden. Zwischen den Werten ist ein Leerzeichen als Trennzeichen einzufügen. Zahlen, die größer sind als 255, werden auf den niederwertigen Teil gekürzt.
Zusätzliche Werkzeuge Seite: 121/152 10.3 Der myAVR MK2 Simulator 10.3.1 Einleitung Mikrocontrolleranwendungen werden zur Laufzeit auf dem entsprechenden Zielsystem verarbeitet. Nicht jede Zielhardware verfügt über eine eigne Debughardware. Für das myAVR Board mit dem ATmega8 bietet der myAVR MK2 Simulator die Möglichkeit, Assemblerprogramme auf einer virtuellen Hardware zu simulieren.
Seite: 122/152 Zusätzliche Werkzeuge 10.3.3 Die Programmsimulation durchführen Einzelschritte Die einfachste Form der Simulation ist der Einzelschrittbetrieb. Dabei wird Anweisung für Anweisung ausgeführt. Die Schaltfläche „Step“ simuliert dabei das Taktsignal des Controllers. Die Abarbeitung eines Befehls erfordert eine dem realen Befehl entsprechende Anzahl von Steps (Takten, vgl. Datenblatt des ATmega8). Die meisten Befehle des AVR RISC-Core benötigen einen Takt zur Abarbeitung.
Zusätzliche Werkzeuge Seite: 123/152 Speicherinhalte anzeigen Es ist möglich im Schrittbetrieb oder während der automatischen Simulation die Speicherinhalte von FLASH, EEPROM und SRAM zu betrachten und Änderungen zu verfolgen. Die Speicheranzeigen öffnen Sie mit den entsprechenden Schaltflächen.
Seite: 124/152 Zusätzliche Werkzeuge 10.4 Der myAVR Code-Wizard 10.4.1 Einführung Der myAVR Code-Wizard ist ein Assistent zum Erstellen von Assembler- und C-Codes für die Konfiguration und Anwendungsentwicklung von AVR Mikrocontrollern. Dabei wählt der Nutzer Schritt für Schritt im Dialog mit dem Assistenten die gewünschten Konfigurationen und Programmbausteine aus.
Zusätzliche Werkzeuge Seite: 125/152 10.4.2 Grundeinstellungen Die Zielsprache wurde vor dem Start des Code-Wizards ausgewählt. Für die Generierung von korrektem Quellcode ist es notwendig, den Controllertyp und die Taktgeschwindigkeit festzulegen. Liste der unterstützten Controller 10.4.3 Geräteeinstellungen Über den Dialogbereich können Schritt für Schritt die Komponenten des gewählten Controllertyps konfiguriert werden. Komponente aktivieren Konfiguration Codevorschau © Laser & Co.
Seite: 126/152 Zusätzliche Werkzeuge 10.4.4 Unterprogramme Neben der Möglichkeit die Hardwarekomponenten des gewünschten Controllers zu konfigurieren, bietet der Code-Wizard auch eine Reihe typischer Unterprogramme. So verfügt er über einen Warteroutinen-Rechner zum Generieren präziser Wartefunktionen. Parameter der Warte-Routinen Codevorschau . 10.4.5 Projektdaten Der letzte Punkt im Code-Wizard ist die Eingabe der Projektdaten.
Zusätzliche Werkzeuge Seite: 127/152 10.4.6 Codegenerierung Der vollständige Quellcode wird zur Kontrolle dem Anwender angezeigt. Es können jetzt noch Änderungen vorgenommen werden, indem man die betreffenden Punkte im Navigationsbereich auswählt und die Parameter ändert. Mit Bestätigung des Quellcodes wird dieser als komplettes Programm eingefügt.
Seite: 128/152 Zusätzliche Werkzeuge 10.5 Das STM32 ST-Link Utility ST-Link ist ein Werkzeug zum Programmieren von ARM-Mikrocontrollern. Damit können Sie auch den Programmspeicher komfortabel programmieren. Brennen Der Inhalt der ausgewählten Dateien und des Speichers des ARM-Mikrocontrollers wird im mittleren Bereich des Fensters angezeigt. Ausgabe Die Ausgabe befindet sich im unteren Teil des ST-Link Fensters, die Aktionen werden im Ausgabefenster protokolliert.
Zusätzliche Werkzeuge Seite: 129/152 Speicher anzeigen und ändern Neben dem Geräte-Informationsbereich enthält das Hauptfenster 2 weitere Bereiche: ● Memory Display ● Memory Data Memory Display: Dieser Bereich enthält drei Eingabefelder: • Address: Startadresse des Speichers, von der Sie lesen wollen. • Size: Anzahl der zu lesenden Daten in Byte (Hexadezimalformat). • Data Width: Breite der angezeigten Daten (8-bit, 16-bit oder 32-bit).
Seite: 130/152 Zusätzliche Werkzeuge Flash-Speicher löschen: Es gibt zwei Vorgehensweisen den Flash-Speicher zu löschen: 1. Gesamten Flash löschen: • Löschen Sie alle Flash-Speichersektoren des angeschlossenen Gerätes. Das wird über das Menü Target/Erase Chip ausgeführt. 2. Sektorweise den Flash löschen: • Zur Auswahl der Sektoren klicken Sie im Menü Target auf Erase Sectors…. Das “Flash Memory Mapping“ Fenster zeigt die ausgewählten Sektoren des Flashs an.
Zusätzliche Werkzeuge Seite: 131/152 3. In dem „Device programming“ Dialogfenster, geben Sie die Startadresse ein, ab welcher das Programm gebrannt werden soll, es kann eine Flash oder RAMAdresse sein 4. Zum Schluss klicken Sie auf die Schaltfläche „Program“ und das Programm wird gebrannt. Wenn Sie Target/Programm & verify… ausgewählt wurde, wird das Programm nach dem Brennen überprüft. Hinweise: 1.
Seite: 132/152 Zusätzliche Werkzeuge Option-Bytes-Konfiguration Das STM32 ST-Link kann alle Option-Bytes über die „Option Bytes“ Dialogbox ändern, das über Target/Option Bytes… geöffnet werden kann. Der „Option Bytes“ Dialogbox enthält die folgenden Einstellungsmöglichkeiten: 1. „Read Out Protection“: Verändert den Leseschutz des Flash-Speichers.
Zusätzliche Werkzeuge Seite: 133/152 Für STM32F2 und STM32F4 Geräte können 4 programmierbare VBOR Einstellungen ausgewählt werden: • BOR LEVEL 3: Spannungsversorgung im Bereich von 2,70 bis 3,60 V • BOR LEVEL 2: Spannungsversorgung im Bereich von 2,40 bis 2,70 V • BOR LEVEL 1: Spannungsversorgung im Bereich von 2,10 bis 2,40 V • BOR off: Spannungsversorgung im Bereich von 1,62 bis 2,10 V 3.
Seite: 134/152 Zusätzliche Werkzeuge 10.6 Das myAVR ProgTool Hinweis: Das myAVR ProgTool ist nur in SiSy Ausgaben mit dem Add-On AVR verfügbar. 10.6.1 Übersicht zum myAVR Progtool Das myAVR ProgTool ist ein Werkzeug zum Programmieren von AVR-Mikrocontrollern. Sie können den Programmspeicher, den EEPROM und die Fuse-/Lock-Bits der unterstützten AVR-Mikrocontroller komfortabel programmieren. Brennen Der Inhalt der ausgewählten Dateien wird im unteren Bereich des Fensters angezeigt.
Zusätzliche Werkzeuge Seite: 135/152 EEPROM brennen Aktivieren Sie zunächst die Auswahl "EEPROM brennen". Wählen Sie anschließend per Schaltfläche "Suchen..." die gewünschte Datei (*.eep, *.elf, *hex, *.raw, *.bin, *.txt) aus. Der Dateiname kann ebenso per Hand in das Eingabefeld eingegeben werden. Fuses brennen Aktivieren Sie zunächst die Auswahl "Fuses brennen" (auf der Seite "Brennen") sowie die gewünschten Fuses (Low-, High- und Extended Fuse sowie Lock-Bits).
Seite: 136/152 Zusätzliche Werkzeuge Auslesen eines Controllers Zum Auslesen muss die richtige Hardware (Controller und Programmer) eingestellt sein. Die aktuellen Einstellungen sehen Sie im Kopfteil der Seite. Lesen Sie die Daten des Flash- oder EEPROM-Speichers durch Betätigen der jeweiligen Schaltfläche aus. Dieser Vorgang kann je nach Speichergröße länger dauern. Es wird der komplette Speicher ausgelesen, haben Sie also etwas Geduld. Nach erfolgreichem Auslesen werden die gelesenen Daten dargestellt.
Zusätzliche Werkzeuge Seite: 137/152 Besonderheiten: - mySmartUSB, myAVR Board, myMultiProg : MK2, MK3, light / mySmartControl MK2: 8K, 16K, 32K / mySmartControl MK3 o o o o o o - JTAG ICE mk-II: o o o o o - Board muss an einem COM-Port angeschlossen sein externe Spannungsversorgung muss angeschlossen sein Board muss eingeschaltet sein (Power) ISP-Pin muss verbunden sein korrekter COM-Port muss im Feld "Anschluss:" eingetragen sein Anschluss wird nicht automatisch ermittelt AVR ISP mk-II: o o o o
Seite: 138/152 Zusätzliche Werkzeuge Ausgabe Die Aktionen werden im Ausgabefenster protokolliert. Neben anderen Informationen werden Anzahl der übertragenen Bytes und Dauer der Aktion angezeigt. Zustand und Ergebnis der Aktionen werden durch Signalfarben und Ausgaben angezeigt.
Zusätzliche Werkzeuge Seite: 139/152 10.6.2 Einstellungen Fuse- und Lock-Bits für AVR Produkte Einleitung Fuse- und Lock-Bits (engl. fuse = Sicherung, engl. lock = Schloss) nennt man die Bits in bestimmten Registern des AVR zum Konfigurieren des Controllers. Die Fuse-Bits müssen über ein entsprechendes Interface (Software) eingestellt werden. Der normale Programmiermodus verändert die Fuse- und Lock-Bits nicht. Je nach Controllertyp sind unterschiedliche Fuse- und Lock-Bits verfügbar.
Seite: 140/152 Zusätzliche Werkzeuge Schaltflächen zum Einlesen und Schreiben der veränderten Konfiguration Fuse- Lock-Bits aktuelle Einstellung Fuse- und Lock-Bits des ATmega8 Fuse- und Lock-Bits des ATtiny15 Benutzerhandbuch SiSy © Laser & Co.
Zusätzliche Werkzeuge Seite: 141/152 Fuse- und Lock-Bits verändern Zum Verändern der Fuse- und Lock-Bits sollte der entsprechende Abschnitt im Datenblatt des Controllers studiert werden. Über die Dialogfelder Low-, High- und ExtendedFuse- sowie Lock-Bits können die einzelnen Optionen bequem ausgewählt werden. Die Änderungen werden im Anzeigebereich für die Fuse- und Lock-Bits visualisiert.
Seite: 142/152 Zusätzliche Werkzeuge 3. In der Liste der Optionen nach unten scrollen und Int. RC. Osc. 8MHz auswählen. Vergleichen Sie dazu die Beschreibung im Datenblatt des ATmega8. 4. Die Optionsseite überprüfen. wieder zurückscrollen und die veränderten Fuse-Bits 5. Die Schaltfläche „Jetzt Schreiben“ wählen und die Sicherheitsabfrage bestätigen. Danach sollten die Einstellungen überprüft werden durch das Betätigen der Schaltfläche „Hardware Auslesen“.
Zusätzliche Werkzeuge Seite: 143/152 10.7 Der Debugger 10.7.1 Debuggen von SVL Programmen SiSy verfügt über ein Debug-Interface um C oder C++ Programme zu debuggen. Unter Debugging versteht man bestimmte Arbeitstechniken zur Fehlersuche in laufenden Programmen. Dazu gehören vor allem der Schrittbetrieb, Unterbrechungspunkte, Kontrollausgaben und Datenüberwachung. Der integrierte Debugger ermöglicht es Ihnen, sowohl auf Quellcodeebene als auch auf Modellebene Fehler zu suchen.
Seite: 144/152 Zusätzliche Werkzeuge Die Schaltflächen des Debuggers: step (over) einen Schritt: dient dazu, das Programm Schritt für Schritt ablaufen zu lassen. Dies hilft vor allem bei der Fehlersuche, da hier Zeile für Zeile des Quellcodes entsprechend des Programmablaufs abgearbeitet wird. Funktionen werden dabei jedoch als ganze Einheit betrachtet. step in to einen Schritt hinein: verzweigt das Programm zusätzlich in die Einzelanweisungen von aufgerufenen Funktionen.
Zusätzliche Werkzeuge Seite: 145/152 10.7.2 Der SVL-DebugMonitor Für die Fehlersuche im laufenden Betrieb einer Windowsanwendung die auf der SVLKlassenbibliothek basiert, steht Ihnen der SVL-Debugmonitor zur Verfügung. In der folgenden Darstellung sehen Sie eine typische Anwendung des Debugmonitors. Dabei fungiert der Debugmonitor als lokaler Server und die Anwendung als Client. Der Debugmonitor muss immer zuerst gestartet werden und danach erst die Anwendung.
Seite: 146/152 Zusätzliche Werkzeuge 10.7.3 Das SVL-Werkzeug RegExp Reguläre Ausdrücke sind Regeln für die Suche in Zeichenketten. Man definiert also mit dieser Syntax Suchmuster. Benutzen Sie dieses Werkzeug um die Syntax eines gewünschten regulären Ausdruckes zu testen. Sie erhalten zusätzlich den C++ Code für die Anwendung des getesteten regulären Ausdrucks mit der SVL. Weitere Informationen finden Sie in der SVL-Hilfe unter den Stichwort „SRegExp“.
Zusätzliche Werkzeuge Seite: 147/152 10.8 Weitere Werkzeuge Entsprechend der installierten Add-Ons Ihrer SiSy Ausgabe können weitere Werkzeuge verfügbar sein. mySmartUSB Terminal Dieses Programm ermöglicht die Steuerung des mySmartUSB mit seinen vielfältigen Möglichkeiten. Es ist sehr gut geeignet, die einzelnen Schritte eines TWI- oder SPIProtokolls auszuführen und die Abfolge der Aktionen und Rückmeldungen zu beobachten.
Seite: 148/152 Informationen zu SiSy-Ausgaben 11 Informationen zu SiSy-Ausgaben Die Laufzeitkomponenten von SiSy, das Metamodell, Add-Ons sowie spezifische Skripte, Dokumente und Daten sind lizenzpflichtige Produkte. Ausgenommen sind zusätzlich bzw. nachträglich installierte Komponenten Dritter, die von SiSy als Modellierungswerkzeug lediglich zum Beispiel über Skripte angesprochen werden oder in die sich SiSy über offen gelegte Schnittstellen eingebettet hat.
Anhang: Tastaturbelegung, allgemein Seite: 149/152 Anhang: Tastaturbelegung, allgemein Die Tastenbelegung ist abhängig vom jeweiligen Diagramm und der verwendeten Ausgabe: F1 Hilfe wird geöffnet F2 Zoomen F4 Textfeld / Infofeld vergrößern F5 Farbe bei Rahmen wird geändert; Form am Anfang einer Verbindung ändert sich F6 Bei Rahmen und Verbindungen ändert sich die Form F7 Bei Rahmen und Verbindungen ändert sich der Linientyp F8 Form am Ende einer Verbindung ändert sich F9 Bewirkt, dass der Mi
Seite: 150/152 Strg + Maustaste Anhang: Tastaturbelegung, allgemein Selektiertes Objekt wird innerhalb des Diagramms kopiert Strg + Cursortasten: - Cursor nach links Selektiertes Objekt wird in X-Richtung verkleinert - Cursor nach rechts Selektiertes Objekt wird in X-Richtung vergrößert - Cursor nach oben Selektiertes Objekt wird in Y-Richtung vergrößert - Cursor nach unten Selektiertes Objekt wird in Y-Richtung verkleinert Enter Editormodus zum Definieren der Objekte Entf Löschen Cursortasten Se
Anhang: Mausoperationen Seite: 151/152 Anhang: Mausoperationen Die Maus hat in SiSy eine Anzahl von nützlichen Funktionen, welche die Arbeit in Projekten erleichtern. Selektion Klick auf Objekt Objekt ist markiert und kann separat weiterbearbeitet werden. Selektion aufheben Klick auf Fensterhintergrund Aufhebung der Objektmarkierung. Mehrfachselektion Umschalttaste + Klick auf Objekt Selektion/Markierung von mehreren Objekten zur Weiterbearbeitung.
Seite: 152/152 Anhang: Mausoperationen Drag & Drop aus anderem Diagramm Ziehen des gewünschten Objektes aus dem Quelldiagramm in das Zieldiagramm. Es wird eine Referenz des gewählten Objektes erzeugt. Objekt anlegen Drag & Drop aus Objektbibliothek Ein Objekt aus der Objektbibliothek wird im Diagramm angelegt und steht zur Verfeinerung bereit. Objekt anhängen Drag & Drop Verteiler auf Fensterhintergrund Durch Ziehen einer Kante vom Verteiler auf den Fensterhintergrund wird ein neues Objekt erzeugt.