Home

Leseprobe myAVR_Lehrbuch_SE_Auflage_1

image

Contents

1. Timer Counter2 Ov Timer Counters Compare Match A Timer Coun p Ai COMPA ver TMERS COMPA Timer Counter Co Match A er E aa UE Leet Eege s2 USART RZ USART2RX USART2 Rx Complete USART2 UDRE vect USARTZUDRE g ot USARTS UORE USART3 Data Ragistor Ess Par uSARTSTx vect_ USARTSTX USART3 Tx Compete Di 23 e 4 4 8 4 Bi KR LA eg AH o gemeeee 00600000 gan D BS ai of j 7 vn er d 33 wm 00006000 6060606000 00666000 2145 ye 03 235 869 ETE 4 eee hy Sa E Bedsovseo000 booor uk FTSE o ba 806000000 J 5 d w BR ex Abbildung detaillierte Belegungen am myAVR Board MK3 myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Der auf dem Board befindliche Controller geh rt zur Reihe megaAVR und verf gt ber die maximale Ausstattung an m glichen Baugruppen Die folgenden Darstel lungen aus dem Datenblatt des ATmega2560 sollen einen berblick zu dessen M glichkeiten geben OCOB PGS RXDO PCINT8 PEO TXD0 PE1 XCKO AINO PE2 OC3AV AIN1 PE3 OC3B INT4 PE4 OC3C INTS PES TS INT6 PEG CLKO ICP3 INT7 PE7 vec GND RXD2 PHO TXD2 PH1 XCK2 PH2 OC4A PH3 OC4B PH4 OC4C PH5 OC2B PH6 SS PCINTO PBO SCK PCINT1 PB1 MOSI PCINT2 PB2 MISO PCINT3 PB3 OC2A PCINT4 PB4 OC1A PCINTS PB5 OC1B PCINT6 PB6 a SS SSF NH E oF ec NNN A EEEEEE ar
2. timer1 Timer confia void btnRight PushButton onTimer10ms void binLeft PushButton at work void speedUp void LedBitmap dx volatile int16_t 20 dy volatile int16 t 30 curX volatile int16_t 10 cury volatile int16_t 10 SiSy Assistent lt lt Das Klassen Diagramm EN CH e Das Klassen Diagramm dient zum Modellieren der statischen Struktur von Klassen und deren Beziehungen Inhalt Klassen mit Attribute Beziehung zwische Vorlagen in den versch Braten C Win32 9 C Konsole 32bit C Win32 GUI dx volatile int16_t 60 curX volatile int16 t 60 0x100 y volatile uint16_t 64 8 4 points volatile uint16 t 0 showPoints uint16_t Oxff config void A onTimer10ms void work void work void config void speedUp void Java C Vorlagen f r AVR Sprachen AVR C Das rigen steht im Zentrum der objektorientierten gt Undalliar nn di io Fi Nia Abbildung Ein komplettes UML Klassendiagramm Eine Besonderheit im Klassendiagramm ist dass fur eine Operation die selektiert wird aus dem im Zeileneditor angezeigten Text automatisch das entsprechende Sequenzdiagramm generiert wird Programme bersetzen und brennen Um das Beispiel zu testen ist es n tig dieses zu Erstellen Quellcode generieren Kompiliere
3. ration init von der aus es die Hardware konfigurieren kann Des Weiteren muss der W chter zyklisch die M glichkeit bekommen seiner Uberwachungsaufgabe nachzugehen Das k nnte man bei zeitkritischen Aufgaben per Timer Interrupt l sen oder einfach aus der Hauptschleife heraus im Polling realisieren Entschei dend ist jedoch dass der W chter daf r eine Operation zur Verf gung stellt Diese Operation nennen wir ueberwachen Erg nzen Sie die Klasse Waechter wie dar gestellt Hilfen zur Nutzung der Bibliotheksklassen finden Sie in den Beschreibun gen der Klassen bzw durch Studium der einsehbaren Klassendiagramme der be nutzten Pakete Vervollst ndigen Sie das Klassendiagramm wie gezeigt Ce waechter init lichtsensor config 1 this gt run AVR_ADC led coniag PORTD BITO T chtsensor Waechter _ t waechter Tes main void jnit void run void ueberwachen void oe while true waechter ueberwachen das wird im Zastandsdiagramm modelliert Abbildung Wachterklasse mit den Operationen init und ueberwachen Im n chsten Schritt wird der Klasse Wachter ein Element vom Typ Zustandsattri but aus der Objektbibliothek eingef gt Dieses Attribut wird im Weiteren mit einem Zustandsdiagramm hinterlegt Als Namen f r dieses Zustandsattribut legen Sie bitte zustand fest myAVR Lehrbuch Software Engineering Laser
4. Anhang Notations berichten Liste der Interruptvektoren des ATmega2560 Literatur und Quellen Laser amp Co Solutions GmbH Grundz ge von Assemblersprachen Grundaufbau eines AVR Assembler Programms Der Befehlssatz des AVR RISC Assembler Der Programmablaufplan DAP Die von Neumann Architektur und Sprungorientierung myAVR Lehrbuch Software Engineering Leseprobe Vorwort Dieses Buch wendet sich an Leser die bereits uber Kenntnisse in der Program mierung von AVR Mikrocontrollern verfugen Die Autoren haben aus ihrer langjah rigen Projekterfahrung mit kleinen mittleren und gro en Projekten in diesem Lehrbuch wesentliche Aspekte der methodischen und systematischen Anwendung von Basiskonzepten Methoden Techniken und Werkzeugen der ingenieurm i gen Herstellung von Software also des Software Engineerings zusammengefasst Besonderes Augenmerk gilt hier einer Sparte der Systementwicklung welche zu nehmend an Bedeutung gewinnt und gegen ber der Programmierung von PC Anwendungen oder dem Erstellen von Internetl sungen eine Reihe spezifischer Merkmale aufweist Der Inhalt bezieht sich speziell auf Entwurf und Realisierung von Mikrocontrollerl sungen und orientiert sich damit auf die Bed rfnisse der Ent wicklung von eingebetteten Systemen Somit werden wichtige Aspekte der Soft wareseite des Embedded Systems Engineering er rtert und angewendet In die Gestaltung dieses Lehrbuches flossen ebenfalls d
5. Dem bit0 der Instanz ddrB wurde eine 1 zugewiesen Das Objektorien tierte Paradigma geht davon aus dass ein System aus strukturierten In stanzen besteht Jede Instanz aggrigiert die Elemente fur die sie Ver antwortlich ist run Aufruf der Mitgliedsfunktion run Es handelt sich hier um eine Nachricht an sich selbst Alternativ kann per Zeiger auf sich selbst verwiesen wer den Daraus ergibt sich die ebenfalls m gliche Schreibweise this gt run Diese geschweifte Klammer bedeutet das Ende des Funktionsk rpers Alles was nach dieser Klammer steht geh rt nicht mehr zur Funktion Dieser Kommentar dient der bersichtlichkeit Er trennt die Operationen optisch voneinander public void run Die Operation run kann aufgerufen werden nach dem alle Initialisierun gen erledigt sind Der Controller arbeitet dann in der Hauptschleife bis zum Abschalten der Spannungsversorgung Ein Beenden dieser Funkti on ist bei Controlleranwendungen ohne Betriebssystem nicht sinnvoll Daraus ergibt sich die Notwendigkeit einer Unendlichschleife in der die geforderte Verarbeitungsaufgabe st ndig ausgef hrt wird Das ist letzt lich das Betriebssystem vgl Polling Wenn die Funktionalit t der Cont rolleranwendung ereignisorientiert ist vgl Interrups dann kann die Hauptschleife auch leer sein darf jedoch trotzdem nicht weg gelassen werden vgl Leerlaufprozess in Betriebssystemen Das ist ffnende Klammer f r den Funktionsk
6. amp Co Solutions GmbH Leseprobe myAVR_DigitallnOut myAVR_ADC zustand state t sm lichtsensor Controller waechter main void run void init void ueberwachen void led DigitalOut Ehon nr geren e app Controller Abbildung Klasse Waechter mit Zustandsattribut Im Zustandsdiagramm werden nur diejenigen Operationen zug nglich gemacht die eine Zuweisung zum Namensraum des Zustandsdiagramms sm state machi ne erhalten haben Das geschieht ber eine Zusicherung in der Schreibweise WO WAS Die Operation ueberwachen soll die do Aktivitat im Zustandsdiagramm werden Zur Erinnerung Die do Aktivitat wird w hrend eines Zustandes fortlau fend also zyklisch ausgef hrt Definition Statements info Zugriff public R ckgabetyp void Ruckgabevanable wert Name ueberwachen Parameter Zusicherung am dl a Normal Ka Virtual Override Kommentar Abbildung freigeben der Operation ueberwachen f r das Zustandsdiagramm myAVR_DigitallnOut myAVR_ADC lichtsensor Controller maint void run void waechter zustand state t sm init void ueberwachen void sm DigitalOut app Controller Abbildung Klassendiagramm Zustandstest beachten Sie die Zusicherungen sm Laser amp Co Solutions Gm
7. 5 2 Prinzip und macht diese schnell erfassbar Dieses Prinzip sollten sie verinnerlichen Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe 2 Entwicklungswerkzeug und Zielsystem 2 1 Die Entwicklungsumgebung Die Bearbeitung der Ubungen und Aufgaben bezieht sich auf die Verwendung des Modellierungswerkzeuges und Entwicklungsumgebung SiSy AVR SiSy AVR Sollten Sie SiSy AVR SiSy AVR bereits installiert haben k nnen Sie dieses Kapitel berspringen Eine detaillierte Installationsbeschreibung fur SiSy und die n tigen Treiber finden Sie unter www myAVR de in der Rubrik Download Voraussetzungen F r die Installation ben tigen Sie einen Freischaltcode Lizenzangaben Falls Sie diese Angaben nicht mit der Software erhalten haben k nnen Sie diese online ab rufen von www myAVR de gt Online Shop gt Kontakt Service oder fordern Sie diese beim Hersteller an Tel 03585 470222 Fax 03585 470233 e Mail hotline myAVR de Au erdem sollten Sie pr fen ob die Systemvoraussetzungen f r die Installation und die Arbeit mit SiSy AVR SiSy AVR gew hrleistet sind PC Arbeitsplatz oder Notebook mit USB Anschluss Windows XP Widows Vista oder Windows 7 Mindestens 350 MB freier Speicherplatz auf der Festplatte Mindestens 1 GB RAM Microsoft Internet Explorer ab Version 6 0 Maus oder ahnliches Zeigegerat USB Kabel Setup von der SiSy CD Legen Sie die CD SiSy in Ihr CD ROM Laufwerk ein
8. Ces rau Zu ample_BoardMk3_09_FileBrowser Sample_Moard 8 11 EN IS LCD Sample Boa ardMK3_12_TWI_Tei emps ensor mmie Pr Beni amma abiau tan ve UML Klass Struktogramm IE Jedes dieser Diagramme bietet Ihnen nach der Modellierung o u a aa ngabe die M glchket G g zum Debuggen sowi zum Brennen es Progra es arjple_BoardMK3 WR Sample_Boardl Gegen entfernen en Verkn pfung mit Datei Tipps Abbildung Eine Diagrammvorlage mit Beispielen laden Jedes Symbol in dem jetzt vorliegenden Diagramm enth lt wiederum ein Dia gramm Um in eines der Diagramme zu gelangen selektieren Sie das Symbol und myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe w hlen im Kontextmen rechte Maustaste auf dem Symbol den Men punkt nach unten ffnen Fur diese bung nutzen Sie bitte das Beispiel Saple_BoardMk3_10_GamePing Offnen Sie das Diagramm Lo ES testspr Projekt Bearbeiten Ansicht Einstellungen Fenster LDoM lmao slider sace p geg PORTK H Navigator ee ndia PORT K Data Register wg Schnellzugritt Strg Klick f r Hilfe jer In t al 2 Icd configLcd PORT 4PORTC 45 btnLeft confi g PORI K BIT4 46 btnRight confi g PORTK BITq 47 game confi ipa 48 timerl con 51 ith ER m j Aktionsmen MCU_ATmega64_120 256 0 x AVR_MKILCdENt myAVR_Timer led GraficLcd
9. Deshalb basieren dieses Lehrbuch und der Lernerfolg auf der praktischen Anwendung des Vorgestellten und konsequenten Werkzeugnutzung Wir lernen was wir tun John Dewey Beachten Sie dass die Aufgaben im Lehrbuch in der Regel praktische bungen mit dem myAVR Board MK3 und dem Entwicklungswerkzeug SiSy sind Auf prak tische bungen werden Sie mit dem folgenden Symbol hingewiesen Weitere Informationen und Beispiele finden Sie unter www myAVR de Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe 1 Einfuhrung Was immer du tun kannst oder tr umst es zu k nnen fang damit an Johann Wolfgang von Goethe D Als ein eingebettetes System Embedded System werden Digitalrechner verstan den welche von dem System das sie berwachen steuern und regeln sollen un mittelbar umgeben werden Oft ist das Vorhandensein eines Computers Mikro controllers in derartigen Systemen auf den ersten Blick nicht ersichtlich SysML Blockdefinitionsdiagramm Referenzarchitektur eines Embedded Systems P Embedded System Ein eingebettetes System bezeichnet einen Computer welcher in ein ihn umgebendes System eingebettet ist und dabei die Aufgabe hat das System in das er eingebettet ist zu steuern zu regeln zu berwachen lt lt systemContext gt gt Umgebung lt lt System gt gt System Subsystem interface Mensch Mashine schnittste
10. EEZ2 2222 628350 a Sek T EEEER EaSkSS SS ST NA sg 6 SR e g e es SS KS un SS SS SS SS SL LE LS SL LE SS Wore nee sg pe OS LEI sg vg EX az zz REBEL NL HS ZS S Cd d dd a 2 2 82 2 8 8 lo ser aa lt lt lt D O Rn o zo CECR fod es es 97 96 95 24 93 92 94 eo 89 ee 87 es 85 e4 83 e2 81 80 79 78 77 Pe 1131 fo e elle fe fe Sllz 8 N 2 S el 3 fal a le el nn E O ATmega640 1280 2560 PA3 AD3 PA4 AD4 PAS AD5 DAG AD6 PA7 AD7 PG2 ALE PJ6 PCINT15 PJ5 PCINT14 3 2 12 ST TS 2 SI Ta PJ4 PCINT13 PJ3 PCINT12 PJ2 XCK3 PCINT11 PJ1 TXD PCINT10 PJO RXD3 PCINT9 GND voc PC7 A15 PC6 A14 PC5 A13 PC4 A12 PC3 A11 PC2 A10 PC1 A9 PCO A8 PGi RD 2778 2 Te Te Ts TS Ts Te TS 27 TS Tel TT 18 PGO WR 26 27 es E9 30 l bal Sa 35 se 37 sa 39 Tao bal 42 as 44 bal Tas 47 Tas as 50 T4 PH7 OCOA OC1C PCINT7 PB7 be k MR a oO o a o a ON e e wl sl ll 3 cl 3 3 23 sel oa PRS se gtttaaaee Ei er zlu vo vo so lt coe R BB E E o Q H Q e SE O O Ne 2 9 e ae m O Q a o no sg OR Nn Dm rr ICP XCK RXDY INT TXD1 INT Abbildung Pin Out des ATMega2560 Power Supervision deed POR BOD amp RESET Watchdog GND Timer Watchdog Oscil
11. Freigab ere Installations Typ bestimmen Benutzerdefiniert oder w hlen Sie a SiSy3 AVR E Compiler Sonstiges Silabs Treiber C Adobe Reader CD Nummer Ihre CD Nummer Freischaltcode Ihr Freischaltcode Bitte achten Sie bei allen Angaben auf die exakt gleiche Schreibweise wie auf Ihrem Freischaltcode Nachweis Beschreibung Die berpr fung des Freischaltcodes erfolgt sp ter w hrend des Einsatzes von SiSy Ben tigter Speicher 736 6MB Silabs USB zu UART Treiber lt Zur ck weiter gt Abbrechen lt Zur ck C Weiter gt _ Abbrechen Abbildung Eingabe der Lizenzdaten und Wahl der Treiberoption Danach erscheint die Dialogbox Komponenten ausw hlen welche Sie mit Wei ter best tigen Falls noch keine Treiber f r die myAVR Hardware installiert sind w hlen Sie bitte die Option Sonstiges Silabs Treiber Im darauf folgenden Fens ter k nnen Sie festlegen unter welchem Pfad SiSy AVR installiert werden soll Wenn ein anderer Pfad bzw ein anderes Laufwerk gew nscht wird ist die Schaltfl che Durchsuchen zu bet tigen Eine Dialogbox erscheint in der Sie Laufwerk und Verzeichnis ausw hlen k nnen Zielverzeichnis ausw hlen Wahlen Sie das Verzeichnis aus in das SiSy3 AVR installiert werden soll pe owe suchen Wahlen Sie das Verzeichnis aus in das Sie SiSy3 AVR SiSy3 AVR wird in das unten angegebene Verzeichnis installiert Falls
12. Lichtsensors muss die rote LED aufleuchten Vergleichen Sie den generierten Quellcode mit den Konstruktionszeichnungen Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH
13. UML Alles um uns herum und auch wir selbst befindet sich in einer Menge bestimmter Zustande engl state Sie als Leser sind in diesem Moment wach und hoffentlich konzentriert Das Regenwasser an der Fensterscheibe vor Ihrem Schreibtisch ist im Zustand flussig usw Jeder dieser Zustande ist durch bestimmte Merkmale engl feature gekennzeichnet Das sind zum einen Strukturmerkmale also im Sinne der Objektorientierung Attribute aber auch Verhaltensmerkmale die wir an dieser Stelle als Aktivitaten bezeichnen wollen Diese Merkmale kennzeichnen den Zustand Zum Beispiel ist das Merkmal Temperatur 3U und die Aktivit t flie Ben kennzeichnend f r den Zustand der Wassertropfen auf der Fensterscheibe vor Ihnen Wenn wir jedoch eines von dieser Welt mit Gewissheit sagen k nnen dann dass nichts bleibt wie es ist Zust nde ndern sich Die Dinge gehen in an dere Zust nde ber Sie werden vielleicht bald ins Bett gehen und nach einer Wei le schlafen Ihr Zustand hat sich ver ndert von wach zu schlafend Die Wasser tropfen werden in der Nacht ebenfalls ihren Zustand ndern Die Temperatur f llt unter Null und der Aggregatzustand der Wassertropfen geht von fl ssig zu fest ber Diese Ver nderungen der Zust nde bezeichnen wir als Zustands berg nge engl transition Diese berg nge geschehen unter bestimmten Bedingungen engl conditions Sie werden nur in den Zustand schlafend bergehen wenn Sie m de sind Der Wassertropfen auf der Fenst
14. rper der Operation run while true Das Schl sselwort while zeigt eine Wiederholbedingung in C an Die ei gentliche Bedingung wie lange bzw wie oft die Anweisung im Schleifen block wiederholt werden soll folgt in runden Klammern Die Bedingung true ist immer wahr Zu Deutsch wiederhole solange wahr gleich wahr ist Also f r Immer Es ist m glich hier auch nur eine 1 oder das den Ausdruck 1 1 zu verwenden da das logische Ergebnis dieser Ausdr cke immer dasselbe ist Die geschweifte Klammer ffnet einen Block in dem Fall den Schleifen block fur die Wiederholung while true Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Zeile 17 Zeile 18 Zeile 19 Zeile 20 Zeile 21 Zeile 22 Zeile 23 Zeile 24 Zeile 25 Leseprobe portB bitO 1 Ausgabe Die Zeile 17 enthalt den fortlaufend auszufuhrenden Befehl in der Schleife Der Schleifenblock kann mehr als einen Befehl enthalten Wei tere Befehle k nnen innerhalb der Klammer eingef gt werden und m s sen einzeln mit einem Semikolon abgeschlossen sein Die Zeile enth lt einen zus tzlichen Kommentar Es ist deutlich zu sehen dass der erste Teil der Zeile eine g ltige Anweisung ist und ab dem Kommentarsymbol eine Erl uterung folgt Diese geschweifte Klammer schlie t den Schleifenblock Alles was zwi schen der ffnenden Klammer und der dazugeh rigen schlie enden Klammer steht wird so lange wiederholt b
15. zu einer kleineren Adresse im Programmspeicher bewirkt dass zu Befehlen zur ckgekehrt wird die bereits abgearbeitet wurden Diese Befehle werden somit wiederholt Ein Sprung zu einer gr eren Adresse im Programmspeicher bewirkt dass die Befehle bis dorthin nicht ausgef hrt also ausgelassen werden Die m glichen Maschinenbe fehle Instruction Set einer Zentraleinheit werden bei der Programmierung als so genannte Assemblerbefehle geschrieben oder generiert myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe 4 2 Grundzuge Strukturierter Programmiersprachen Die typischen Merkmale einer Strukturierten Programmiersprache sollen anhand der in der Mikrocontrollerprogrammierung weit verbreiteten Sprache C aufgezeigt werden Was ist C C ist eine h here Programmiersprache mit breiten Einsatzm glichkeiten Die grundlegende Komponente Modulkonzept dieser Programmiersprache sind Funktionen Diese kann man als Befehle mit Parametern aufrufen Die Sprache selbst abstrahiert von der konkreten Maschinensprache und ist dadurch portabel bertragbarkeit des C Codes auf verschiedenen Rechnertypen Auf Spr nge wird zur Bildung von Algorithmen verzichtet strukturierte Programmierung GOTO freie Programmierung Einsatzgebiete C eignet sich besonders als Sprache f r die Betriebssystementwicklungen daf r wurde sie urspr ngl
16. 1 LPT MK2 USB oder einen mySmartControl MK2 Die Span nungsversorgung erfolgt im Normalfall ber den USB Anschluss kann aber bei Bedarf auch ber ein externes Netzteil erfolgen Das MK3 Board ist kompatibel zu allen myAVR Produkten Die Programmierung erfolgt ber den integrierten High Speed USB Programmer mySmartUSB Mk3 mr HOGE we De a ee It VE Gs Paie oy a HS 2 e x d De ik amp Zu r Oron iz d ww D Te tt TG ORIOI nooo bit 333 33 r Oef S amp e Gow Ca Du lt D sent an u 000000 it Gi r SCT t Osia KI f Oslo amp 00000000 00000000 T e e i e gr e em fm e r mm em o J we Ww o O gt i gas l SC As RO 0 k O SO GO oO no oO 9 O O5 oF ooo000005 gi pa ge ga ge gu a r r m m e oe Ww YS S nr STI 200000000000 WW o 200000 60009900 ID900000 00000000 GSESUOCOOG 00000000 00000000 so 000000000000 060000 gt 000000000000 600000 HinGnenbnnnnBbhnooa amp j ECCS Ca Ghee RRR Abbildung komplett bestucktes myAVR Board MK3 Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering mySmarUSB Mk 8 DIP Schalter 8 DIP switches Taster Button Joystick Potentio meter potentio meter Legende caption OPatchkabelbuchse patch cable socket Knotenpunkt junction VCC Extern 9 12V externe Spannungs versorgung external p
17. 2010 Laser amp Co Solutions GmbH www laser co de www myavr de info myavr de Tel 49 0 3585 470 222 Fax 49 0 3585 470 233 Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe 1 Einf hrung 1 1 Geschichtlicher Abee AAA 1 2 Einsalzgeblele ses aa 1 3 Giandortbestmmung nenn 1 4 Problemstellung on00nnnnnnoannnnnnennnnennnnnnnsnnnnnessnnnnnenenne 2 Entwicklungswerkzeug und Zielsystem 2 1 Die Entwieklungsumgebung 2 2 Die beterenzharcdhware 2 3 Wichtige Komponenten eines Mikrocontrollers 2 3 1 Digitale Ein Ausgabe Bausteine 2 3 2 Speicherarten und Speicherarchitektur 24 WN AS IST Slay EE 2 5 Grundaufbau des Entwicklungswerkzeuges 2 6 Grundlagen der Bedienung von SiSy 3 Kleine Systeme konstruieren 3 1 3 2 3 3 3 4 3 5 4 Mittlere Systeme konstruieren Das Paradigma der Strukturierung sseessseneenneeeneenenne 4 2 Grundz ge Strukturierter Programmiersprachen Das Struktogramm GO 4 1 4 3 5 Gro e Systeme konstruieren Das Objektorientierte Paracdoma no 5 2 Grundz ge objektorientierter Programmiersprachen Einf hrung in die UM 5 3 1 Allgemeine Notationselemente der UML 5 3 2 Wichtige UML Notationen f r Strukturen 5 3 3 Wichtige UML Notationen f r Verhalten Klassenbibliotheken nutzen nennen 5 5 Modellierung mit dem Zustandsdiagramm der UML 9 1 5 3 5 4
18. CD kontrollieren Sie die Anzeige der O DIFs nacheinander ein eingeschalteten DIP Schalter JA NEIN Weiter mit Taste 3 e Viele verschiedene Grafiken erzeugen sich selbst standig JA NEIN Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe 2 4 Was ist SiSy SiSy ist die Abk rzung fur Simple System Dabei steht System daf r dass Syste me egal ob klein mittel oder gro strukturiert und methodisch mit standardisierten Darstellungsmitteln konstruiert werden Simple steht f r eine einfache Vorgehens weise und bersichtliche Darstellung SiSy bildet die Darstellungsmittel zur Kon struktion eines Systems individuell und aufgabenspezifisch ab Das bedeutet dass f r jede spezifische Konstruktionsaufgabe auch spezielle Darstellungstechniken zur Verf gung stehen Die Art der mit SiSy zu konstruierenden Systeme kann sehr vielf ltig sein Die Einsatzm glichkeiten reichen von der Konstruktion von Soft waresystemen f r Mikrocontroller ber Datenbankl sungen auf Arbeitsstationen oder Servern bis hin zu betriebswirtschaftlichen Managementsystemen SiSy ist ein allgemeines Modellierungswerkzeug f r beliebige Systeme 2 5 Grundaufbau des Entwicklungswerkzeuges Schauen wir uns als n chstes kurz in der Entwicklungsumgebung SiSy AVR um SiSy AVR ist wie bereits erw hnt ein allgemeines Entwicklungswerkzeug mit dem man von der Konzeption eines Systems bis zur Realisierung die verschie densten Arbeitssc
19. EM Hinweise zum allge en T Objektbibliothek Videos Vorlagen benutzen Code Wizard nutzen Hinweise zum Debugger Abbildung Bildschirmaufbau der Entwicklungsumgebung SiSy AVR Beim Kompilieren Linken oder auch Brennen ffnet sich ein Ausgabefenster und zeigt Protokollausgaben der Aktionen an Wenn die Hardware ordnungsgem angeschlossen von der Software erkannt und das Programm erfolgreich bersetzt myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe sowie auf den Programmspeicher des Mikrocontrollers ubertragen wurde muss die letzte Ausschrift in Abhanigkeit der Konfiguration folgenden bzw hnlichen In halt haben vorbereiten brennen benutze mySmartUSsB MK an mit ATnegas USB Ireiber installiert aktiv V Port COM2 Prozessor Almega3 schreibe 50 Bytes in Flash Memory erfolgreich 0 32 ai OR Abbildung ProgTool Ausgabefenster mit Brenn Protokoll Die Inbetriebnahme Test und Datenkommunikation mit der Mikrocontrollerl sung erfolgen ber das myAVR Controlcenter Dabei wird ber die Schaltfl che Start das Testboard mit der n tigen Betriebsspannung versorgt und der Controller ge startet Der Datenaustausch mit dem myAVR Board ist m glich wenn das Null Modemkabel oder USB Kabel an Rechner und Testboard angeschlossen ist sowie die Mikrocontrollerl sung daf r vorgesehen ist Es k nnen Texte und Bytes vorzeichenlose ganzzahlige Werte b
20. Falls die CD nicht automa tisch startet wahlen Sie bitte im Explorer das CD ROM Laufwerk und starten die setup exe aus der Wurzel des Laufwerks Auf dem Startbildschirm stehen Schaltflachen zur Verfugung zum Installieren der software und zum Offnen von Begleitdokumenten Fur die Installation der Software bet tigen Sie die entsprechende Schaltfl che In Abh ngigkeit Ihrer Rechnerkonfiguration kann der Start des Setup Programms ei nige Sekunden dauern Das gestartete Setup Programm wird Sie durch die weite re Installation f hren Beginn der Installation Bet tigen Sie im Setup Programm die Schaltfl che Weiter Sie erhalten die Li zenzbestimmungen Bitte lesen Sie diese sorgf ltig durch Wenn Sie sich mit die sen Bestimmungen einverstanden erkl ren best tigen Sie die Lizenzbestimmun gen mit der Schaltfl che Annehmen Sie werden im folgenden Dialog dazu aufgefordert Ihre Lizenzangaben ein zugeben myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe d SiSy3 AVR Installatio L d 2 Freischalteingabe e SiSy Freischaltcode 3 0 AVR Geben Sie bitte die Angaben zur Freischaltung Ihrer SiSy Version ein RI en auswahlen Bech Wahlen Sie die Komponenten aus die Sie installieren m chten W hlen Sie die Komponenten aus die Sie installieren m chten und w hlen Sie diejenigen ab die Sie nicht installieren wollen Klicken Sie auf Weiter um fortzufahren Freigabename Thr
21. Man sollte sich auf je den Fall davor huten von den Moglichkeiten und den Einschrankungen einer kon kreten Sprache auf das Konzept zu schlie en Wesentliche Aspekte objektorien tiertes Sprachen sollen im Folgenden anhand der Sprache C aufgezeigt wer den F r das Verst ndnis von C ist weiterhin wichtig zu wissen dass C die Sprache C beinhaltet C ist die objektorientierte Erweiterung der Sprache C Zus tzlicher Sprachumfang von C Auswahl wichtige fett bool true false class new delete enum template this virtual operator private protected public namespace using catch throw try Deklarieren von Klassen in C Eine Person hat einen Namen und Voramen sowie ein Geburtsjahr Sie kann nach ihrem Namen und dem Geburtsjahr gefragt werden Klasse Name Bauplan Struktur Verhalten class Person Attribute Sichtbarkeit Typ Name protected char nachName 20 protected char vorName 20 protected int geburtsJahr Konstruktor Destruktor Person hier Initialisierungen durchf hren Person hier Deinitialisierungen durchf hren Operationen Sichtbarkeit Typ Name Parameter public char getNachName return nachName public char getVorName return vorName public int getGeburtsJahr return geburtsJahr Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe Vererbung in C Ein Mitarbeiter ist eine Person Zus tzlich hat
22. Sie in ein anderes installieren m chten Verzeichnis installieren m chten klicken Sie auf Durchsuchen und w hlen Sie ein anderes Verzeichnis aus Klicken Sie auf Weiter um fortzufahren BE Desktop Bibliotheken gt B user ME Computer thi Netzwerk Zielverzeichnis C Program Files x86 SiSy3 AVR Ben tigter Speicher 1 3GB Verf gbarer Speicher 57 7GB Neuen Ordner erstellen Abbrechen lt Zur ck Abbrechen Abbildung Auswahl des Installationsverzeichnisses Bestimmen Sie danach den Startmen Ordner in dem die Verkn pfungen von SiSy eingef gt werden Sie k nnen den Zielordner ndern Sie k nnen dies durch ausw hlen von Keine Verkn pfungen erstellen unterbinden Beginnen Sie nun die Installation durch bet tigen der Schaltfl che Installieren Die Installation wird nach ausw hlen von Fertig stellen abgeschlossen Hinweis In SiSy sind 2 Dateien enthalten die Makros beinhalten handbuch doc mut ti doc Von einigen Virenscannern werden diese Makros als Virus erkannt und entsprechend behandelt In den Heuristik Einstellungen des Virenscanners kann diese Behandlung unterdr ckt werden Sie k nnen nun SiSy AVR starten Es erscheint auf Ihren Bildschirm der Dialog Willkommen in SiSy Folgen Sie dann den Hinweisen des Assistenten indem Sie Assistent ffnen ausw hlen Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineer
23. Subtraktion KR Multiplikation Division Modulo Un re arithmetische Operatoren nur ein Operant n tig Vorzeichen Inkrement Dekrement Bit Operatoren amp and Or not N xor gt gt shift right lt lt shift left Logische Operatoren ist gleich gt gr er als lt kleiner als gt gr er gleich lt kleiner gleich ungleich Wertzuweisungen Trennzeichen Befehlsende Blockanfang Geltungsbereich Blockende Geltungsbereich Anfang Parameterliste Ende Parameterliste Trennzeichen Parameter Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering ol Sei e e mns Leseprobe Zeichenketten Hallo konstanter String dieser wird in doppelte Hochkomma gestellt A konstantes Zeichen dies wird in einfache Hochkomma gestellt Zahlen 123 Integerzahl Dezimaldarstellung 1 23 Gleitkommazahl OxA0 Integerzahl Hexadezimaldarstellung 0b01010110 Integerzahl Binardarstellung Kommentare II bis Zeilenende Komentaranfang Kommentarende Compileranweisungen Auswahl include define ifndef ifdef else endif Alle dar ber hinausgehenden Schl sselworte wie PORTB oder sprintf sind Definitionen oder Funktionen die zwar in C geschrieben aber nicht zum Umfang der Sprache selbst geh ren Manchmal sind diese spezifisch fur ein Zielsystem eine Zielplattfiorm oder hnliches Die zus tzlichen Funktionen stehen als Biblio theken zur Verf gung Bibliothe
24. Zustandsmodell verf gen bung mit dem UML Zustandsdiagramm Aufgabe Gehen Sie zur ck in das Vorgehensmodell Legen Sie ein neues Klassendiagramm mit dem Namen Zustandstest an ffnen Sie das Diagramm und laden Sie die Diagrammvorlage Grundger st Hinweis Beachten Sie die korrekten Einstellungen Hardware und Sprache berpr fen Sie die Verbindungen auf dem Controllerboard Es wird der Lichtsen sor an ADC1 Port F Bit 1 und die rote LED an Port D O erwartet myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe a 4 D D i _OQooo J90 10000 e B ee h ba a yo D E mg CH BUC O reng Sauer m om vu GER disc fe H K nnus x JTAG10 5 ISP amp 18339999997 zeg RE Ye LE A pr 13 e i Bhn Up IE Pe D SEET dE mm rim ar 8 T ee Im zum ee I re DA DA osv Hoio O 0 e O G 7 7 5 J rg p ry 7 6686666800666 gege oeh EFFE SITTI 000 0000 00000000 200000000000 f li a y ae r GO SSC A v Se Port t P EN j f t 2 0000 6006580000 99000000 00000000 GSeEG0000 00000000 00000000 a4 Ti Ge et eege Jj 296666 000000000000 0060000 3 000000000009 g90000 H o a gt 8 e at j WWW 1A ARO ODOT WYrnnonewenwfnthnrnnnhihnae Abbildung Verbindungen f r die bung Zustandstest Die Aufga
25. als eine Schatzung der Streichholzanzahl abgeben k nnen Wiederholen wir das Experiment mit einer neuen Darstellung Nehmen Sie sich wiederum nicht mehr als drei Sekunden Zeit die Anzahl der Holzchen zu ermitteln Bitte jetzt umblattern myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe 8 96 A n Ss Al a Des f f pen LIE 4 i ay E 7A DA Z Les A BN ea ate eee JF A a P si I AM T Lo Abbildung Streichholzexperiment 2 Versuch Sie werden jetzt die exakte Anzahl der Streichh lzer in wesentlich weniger als drei Sekunden erfasst haben Es hat vielleicht eine oder doch sogar noch fast zwei Sekunden gedauert die Anzahl zu erfassen Trotzdem Sie haben diesmal die ge stellt Aufgabe in der geforderten Zeit exakt erf llt Irgendetwas war diesmal an ders Die Anzahl der Streichh lzer in beiden Versuchen war exakt die Selbe Aber erst im zweiten Versuch waren Sie in der Lage die Anzahl wirklich mit einem oder auch zwei Blicken zu erfassen Woran lag das Zum einen sorgte die Art der An ordnung der Fachmann spricht hier von Strukturierung daf r Der zweite Aspekt ist der dass Ihnen ein bekanntes Muster ja fast eine Art Symbol angeboten wurde e Ein bekanntes IT Muster Symbol CHET 7 Systematische Anordnung TH II Abbildung Verstehen durch Strukturierung Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe Des Weiteren wurde in der Art der Anordnu
26. anager U berpr fen bzw auch ndern Eigenschaften von Silicon Labs CP210x USB to UART B PX Gerate Manager Algemen Anschlusseinstelungen Treiber Dotais Datei Aktion Ansicht ER E A U Ra z Computer d Anschl sse COM und LPT I Kommunikationsanschluss COM1 ne kg Silicon Labs CP210x USB to UART Bridge COM3 Flusssteuerung Keine Audio video und Gamecontroller 9 Computer Erwekert Wiederherstellen gt DYD CD ROM LauFwerke gy Eingabeger te Human Interface Devices 2 Grafikkarte IDE ATA ATAPI Controller Se Laufwerke M use und andere Zeigeger te Monitore B Netzwerkadapter XD NVIDIA Network Bus Enumerator SB Prozessoren Z EIFO Puffer verwenden erfordert 16550 kompatiblen UART Bits pro Sekunde Esmi Datenbits 8 Panat Keine Erweiterte Einstellungen f r COM d Systemger te Wahlen Sie niedrigere Einstellungen zur Konekta von Verbindungsproblemen gt Tastaturen Wahlen Sie hohere Einstellungen um eine hohere Geschwindigkeit zu erzielen r USB s USB Controller Emplangspuffer Niedrig D A Hochs 14 a TEE Miedig 1 J Hoch 16 ei COM Anschlussnummer COM3 COM3 en Abbildung Das myAVR Board im Ger temanager Aufgabe F hren Sie den Systemtest an Ihrem myAVR Board MK3 aus und protokollieren Sie das Ergebnis Hinweis Die folgende Testliste enth lt ausgew hlte Beispiele aus dem gesamten Testpro gramm F r ei
27. ation Driver Version 5 4 24 C Program Files Silabs MCU CP210x Change Install Location i E Back Finish _ Cancel Abbildung Start der Treiberinstallation Der Treiber wird vorinstalliert und beim nachsten anschlieBen des myAVR Boards automatisch installiert Sollten altere Treiber vorhanden sein deinstallieren Sie die se bitte vorher myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe 2 2 Die Referenzhardware Alle Ausf hrungen bungen und Aufgabenstellungen beziehen sich auf das myAVR Board MK3 als Zielsystem Dieses ist im myAVR Aufsteigerset bereits enthalten oder kann einzeln erworben werden Fur das erfolgreiche Studium die ses Lehrbuches ist das physische Vorhandensein der beschriebenen Referenz hardware nicht zwingend notwendig aber empfohlen Die beschriebenen Kompo nenten erhalten Sie unter www myAVR de Das myAVR Board MK3 ist ein leistungsf higes Entwicklungsboard f r Atmel Mik rocontroller der oberen Leistungsklasse Es hat zahlreiche typische Hardware Komponenten und Anschlussmoglichkeiten f r die Entwicklung und das Testen von eingebetteten Systemen F r das schnelle und unkomplizierte Arbeiten verf gt es ber eine quick connect option d h alle Ger te k nnen per Jumper sofort zugeschaltet aber bei Bedarf auch frei verdrahtet werden Das Board verf gt ber vier Erweiterungsports f r myAVR Add Ons sowie eine Anschlussoption f r ein myAVR Board MK
28. bH myAVR Lehrbuch Software Engineering Leseprobe In das Zustandsdiagramm gelangen Sie ber das Zustandsattribut Selektieren Sie das Zustandsattribut und w hlen im Kontextmen rechte Maustaste nach unten ffnen Es wird Ihnen eine Liste von Diagrammvorlagen f r das Zustandsdia gramm angeboten W hlen sie die Vorlage UML Zustandsdiagramm mit 1 1 UML Zustandsdiagramm am UML 4ustandediagrammrmit 1 1 UML Zustandsdiagramm mit 1 H UML Zustandsdiagramm mit 1 2 1 keine Yorlage verwenden den Assistenten benutzen Abbildung Vorlage f r das Zustandsdiagramm w hlen Die gew hlte Vorlage zeigt einen Startzustand Startknoten und zwei Zust nde die sich zyklisch abwechseln Das Objekt nimmt nach dem Start immer einen der beiden Zust nde ein Unser W chter soll nach dem Start zun chst in einen Zu stand mit dem Namen aus fallen Danach k nnen sich die Zust nde aus und an je nach Umgebungslicht abwechseln Die entry Aktivit ten der Zust nde sind f r das Schalten der LED zust ndig Andern Sie die Vorlage wie folgt d entry LED ausschalten entry LED anschalten Start Abbildung Vorlage bearbeiten Die Konditionen f r die Zustandswechsel werden auf den Kanten formuliert Dabei muss angegeben werden bei welcher Aktivit t oder welchen Ereignis ein Zu standswechsel erfolgen kann Des weiteren ist es m glich die Bedingung zu for mulieren wann der Zustandswe
29. be soll darin bestehen den analogen Lichtsensor zu berwachen und entsprechend des Helligkeitswertes eine LED einzuschalten Die berwachung k nnte durchaus die Klasse Controller bernehmen Zur Demonstration kapseln wir jedoch die Uberwachungsaufgabe in einem Wachter Die Klasse Controller bernimmt lediglich die Aufgabe die Nachrichten zu verteilen Legen Sie ein Klasse mit dem Namen Waechter an und aggrigieren Sie diese unter dem Namen waechter in der Klasse Controller Controller waechter app Controller Abbildung Anlegen der Klasse W chter Der W chter ist verantwortlich f r die berwachung des Lichtsensors und das Schalten der LED In den Paketen myAVR_DigitallnOut und myAVR_ADC finden wir geeignete Klassen die eine einzelne digitale Ausgabe und das Einlesen eines Analogwertes realisieren Ziehen Sie aus dem Navigator die genannten Pakete herein und die Klassen Adc sowie Digita Out Aggrigieren Sie die Klassen Adc und DigitalOut mit den Namen lichtsensor und led in der Klasse Wachter Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe myAVR_DigitallnOut myAVR_ADC lichtsensor Controller waechter maint void run void DigitalOut app Controller Abbildung eingebundene Pakete und verwendete Bibliotheksklassen Da der Wachter f r Hardwarekomponenten verantwortlich ist ben tigt er eine Ope
30. bh ngig ist gibt es f r die Wah rung der Portierbarkeit von C Codes in AVR C spezielle Typdeklarationen welche die Speichergr e plattformunabh ngig festlegen Hier einige Beispiele int8_t Integerzahl 8 Bit Wertebereich 128 127 uint8 t Integerzahl 8 Bit Wertebereich 0 255 int16 t Integerzahl 16 Bit Wertebereich 32768 32767 uint16 t Integerzahl 16 Bit Wertebereich 0 65535 Alle weiteren Kenntnisse sollten Sie anhand der einzelnen Beispielen erlernen k nnen Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe Ein einfaches C Programm fur AVR Mikrocontroller 1 Grundstruktur eines AVR C Programms 2 include lt avr io h gt 3 main 4 5 Initalisierung PORTB Ausgang 6 DDRB OxFF 7 while 1 1 8 9 PORTB OxFF Ausgabe 10 11 Erlauterung der verwendeten Befehle Zeile1 Zeile 2 Zeile 3 Zeile 4 Zeile 5 Grundstruktur eines AVR C Programms Mit f gt man Kommentare in den Quelltext ein mit wird der Kom mentar wieder beendet Mit kann man einen Kommentar einf gen der nur uber eine Zeile geht Ein Kommentar dient zur Dokumentation des Programmes und wird vom Compiler nicht in Maschinencode ubersetzt include lt avr io h gt Dies ist eine sogenannte Compiler Direktive include weist den Compi ler an eine vorhandene Datei hier einzuf gen h Dateien sind Header Dateien sie enthalten Bi
31. bliotheks Funktionen und vordefinierten Deklara tionen wie zum Beispiel Registernamen Die Headerdatei lt io h gt verweist auf alle wichtigen Funktionen und Definitionen zur Ein und Ausgabe ber Ports und Register des ausgew hlten AVR Controllers main Dies ist die Deklaration der Hauptfunktion Hauptprogramm Sie wird nach dem Start des Systems immer als erstes abgearbeitet Ein Been den dieser Funktion ist bei Controlleranwendungen ohne Betriebssystem nicht sinnvoll Daraus ergibt sich die Notwendigkeit einer Unendlich schleife in der die geforderte Verarbeitungsaufgabe st ndig ausgef hrt wird Das ist letztlich das Betriebssystem Mit der geschweiften Klammer beginnt der Block K rper einer Funktion In inm werden alle Anweisungen festgelegt die die Funktion nacheinan der abzuarbeiten hat Beachten Sie dass zu jeder ffnenden Klammer auch eine schlie ende Klammer geh rt Alles was sich innerhalb der ff nenden und schlie enden Klammer befindet geh rt zu dem Block BI cke k nnen wiederum Bl cke enthalten Initialisierung Bei dieser Zeile handelt es sich wiederum um einen Kommentar Der Unterschied zum ersten Kommentar ist dass hier ein anders Symbol verwendet wurde Man ben tigt hier kein Endsymbol da dieses Kom mentarsymbol automatisch bis Zeilenende gilt myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Zeile 6 DDRB OxFF Die Zeile 6 enthalt eine Anweis
32. chsel erfolgen darf und es kann ein beschreiben der Text hinzugef gt werden wann Bedingung Beschreibung m Abbildung Notation eines Zustandswechsels myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Der Wachter verfugt Uber einen Lichtsensor vom Typ Adc Mit diesem kann der Helligkeitswert ber die Operation getAdc ermittelt werden Die Funktion liefert ei nen 10 Bit Wert Als Grenzwert f r das Umschalten legen wir 500 fest Je nach Umgebungshelligkeit kann mit dieser Konstante der Arbeitspunkt und sogar eine Hysterese f r die Umschaltlogik festgelegt werden Selektieren Sie die Verbindun gen und w hlen im Kontextmen rechte Maustaste Definieren Erg nzen Sie das Zustandsdiagramm wie gezeigt Es 7 e Definition Beschreibung Ereignis do ueberwachen Priort tsstufe 0 bis 99999 je kleiner desto h her Precode Bedingung ff lichtsensor getAdc lt 500 Bezeichnung es ist zu dunkel Postcode Abbildung festlegen der Konditionen fur den Zustandsubergang do lichtsensor getAdc lt 500 es ist zu dunkel entry ausschalten entry einschalten Start do lichtsensor getAdc gt 500 es ist hell genug Abbildung Zustandsdiagramm des Wachters Gehen Sie zur ck in das Klassendiagramm ESC oder Kontextmen nach oben Erstellen bertragen und testen Sie die L sung Beim Abdecken des
33. en jetzt ein Turing Automat Und genau im letzten Punkt widerspiegelt sich das Programmierkonzept einer von Neumann Maschine Die Befehle im Speicher werden nacheinander Schritt f r Schritt abgearbeitet Die eigentliche Programmlogik entsteht durch das An wenden von Sprunganweisungen welche ber das Abweichen von der sequentiel len Verarbeitung den Algorithmus formen Des Weiteren ergeben sich aus den genannten Punkten auch die f r eine solche Maschine n tigen Befehlsgruppen Befehle die Speicherinhalte bewegen um die Daten f r Operationen bereitzustel len Transportbefehle Befehle f r die eigentlichen Operationen welche also Be rechnungen und Ver nderungen der Daten ausf hren Arithmetik und Logikbe fehle Befehle f r das Ausf hren von Spr ngen um den Algorithmus zu formen Sprungbefehle Der Sprung Jump GoTo ist das Basiskonzept der Programmie rung SysML Blockdefinitionsdiagramm Prinzipaufbau Mirkorechner Mikroprozessor CPU subsystems subsystem subsystem subsystems Eingabeger te Rechenwerk steuerwerk Ausgabeger te ALU a subsystems interneres Dussystem block Chipset Arbeitsspeicher Programme Daten le ee externes Dussystem Abbildung Prinzipaufbau eines Mikrorechners mit von Neumann Architektur Die Zentraleinheit eines Mikrorechners die Central Processing Unit CPU setzt sich zusammen aus dem Steuerwerk und dem Rechenwerk Alle anderen Bau steine sind extern Die Verb
34. er eine Mitarbeiternummer Diese kann inm zugewiesen werden und er kann nach seiner Miarbeiternummer gefragt werden Klasse Name Basisklasse Bauplanerweiterung class Mitarbeiter public Person Attribute Sichtbarkeit Typ Name protected int maNummer Operationen Sichtbarkeit Typ Name Parameter public void setMaNummer int nummer maNummer nummer public int getMaNummer return maNummer Definieren von Objekte C Meier vom Typ Mitarbeiter Die Instanz Variable meier ist das Objekt Der Typ der Instanz Variable ist der Klassenname Mitarbeiter Die Instanz meier hat alle Merkmale einer Person und eines Mitarbeiters Mitarbeiter meier Aggregationen und Kapselung in C Mitarbeiter haben ein Konto Der Kontostand ist Privatsache Einzahlen darf jeder Klasse Name Basisklasse Bauplanerweiterung class Konto private float kontostand public void einzahlen float betrag kontostand betrag class Mitarbeiter public Person Aggregation Konto public Konto konto myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Assoziationen in C Mitarbeiter kennen den Betriebsrat Das gibt an dass es sich nur um einen Zei ger die Adresse im Speicher auf eine Instanz handelt Die Instanz vom Konto ist in der Klasse Mitarbeiter vollst ndig enthalten Wird ein Mitarbeiter angelegt hat e
35. err von Neumann damals als revolution re Architekturprinzipien zusammen fasste erscheint aus heutiger Sicht fast selbstverst ndlich Damals waren aber zum Beispiel die heute verschwunden geglaubten Analogrechner bereits in der Massenanwendung zum Beispiel bei den Raketensteuerungen des Herrn von Braun Analogrechner behaupteten sich noch lange gegen die Abl sung durch di gitale Steuerungen Digitalrechner galten damals noch lange nicht als der Stein der Weisen und wer wei wann man ber Digitalrechner wie ber Faustkeile schmunzelnd den Kopf sch tteln wird Vielleicht erleben wir das noch Zu den Prinzipien einer von Neumann Architektur geh ren unter anderem e ein Rechner besteht mindestens aus Rechenwerk Steuerwerk Speicher Ein und Ausgabeger ten e interne Informationen Befehle und Daten werden bin r gespei chert Digitalrechner e Befehle und Daten befinden sich in einem einheitlichen Speicher Hauptspeicher Arbeitsspeicher myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe e der Speicher besteht aus Worten fester Lange Speicherwort Verarbeitungsbreite e der Speicher wird fortlaufend adressiert e Befehle und Daten werden uber ihre Position im Speicher angesprochen Adressierung e die Befehle werden in der Reihenfolge ihrer Speicherung abgearbeitet bis hier nur ein sequentieller Automat e von der sequentielle Verarbeitung kann durch unbedingte und bedingte Spr nge abgewichen werd
36. ers Alles was nach dieser Klammer steht geh rt nicht mehr zur Funkti on myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe 5 3 Einfuhrung in die UML Die Unified Modeling Language ist ein Satz von Darstellungsregeln Notation zur Beschreibung objektorientierter Softwaresysteme Ihre urspr nglichen Autoren Grady Booch James Rumbaugh Ivar Jacobson verfolgten mit der eigens gegrun deten Firma Rational anfangs vor allem kommerzielle Ziele Sie Ubergaben die UML jedoch im weiteren Verlauf der Entwicklung als offenen Standard an eine nicht kommerzielle Organisation der Object Management Group www omg org Im Jahre 1996 wurde die UML durch die OMG zu einem internationalen Standard erhoben Die OMG entwickelt die UML und auf der UML basierende Konzepte und Standards weiter Die UML soll nach den W nschen der Autoren eine Reihe von Aufgaben und Zielen verfolgen so zum Beispiel e Bereitstellung einer universellen Beschreibungssprache f r alle Arten objekt orientierter Softwaresysteme und damit eine Standardisierung e Vereinigung der beliebtesten Darstellungstechniken best practice e ein fur zuk nftige Anforderungen offenes Konzept e Architekturzentrierter Entwurf Durch die UML sollen Softwaresysteme besser e analysiert e entworfen und e dokumentiert werden die Unified Modeling Language e ist NICHT perfekt wird aber immer besser e ist NICHT vollst ndig wird aber immer umfangre
37. erscheibe wird nur dann zu Eis erstar ren wenn seine Temperatur den Gefrierpunkt erreicht hat Die jetzt eingenomme nen Zust nde sind wiederum durch Attribute und Aktivit ten gekennzeichnet und werden unter bestimmten Bedingungen in andere Zust nde bergehen Das zu standsorientierte Durchdenken eines Systems ist f r viele eine ungewohnte bung Doch viele Szenarien in eingebetteten Systemen aber auch in ganz nor malen Anwendungssytemen sind dem Wesen nach Zust nde und Zustandswech sel Wir wollen dies im weiteren Zustandsautomat oder besser englisch state ma chine nennen Die grafische Darstellung solcher Zust nde und Zustandswechsel wird Zustandsdiagramm genannt Notations bersicht Zustandsdiagramm Auszug Beschreibung Startknoten Ein Startknoten aktiviert Ab l ufe Startknoten besitzen nur ausgehende Kanten Zustand Zust nde eines Objektes sind gekennzeichnet durch zu Er standsspezifische Aktivit ten entry wird beim Betreten ausgef hrt e 8 Ss do wird wiederholt w hrend des Zusandes ausgef hrt beim E IN neh men w h rend event wird bei einem bestimmten Ereignis ausgef hrt exit wird beim Verlassen ausgef hrt und beim Verlassen des ZU standes entry do exit Zustands Ein Zustands bergang transi bergang tion repr sentiert mindestens zwei Aktivit ten Eine Aktivit t vom Typ exit beim alten und eine Aktivit t vom Typ entry beim neuen Zustand Fo Endknoten Ein Endknoten beend
38. et Abl u fe und besitzt nur eingehende Kanten Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe Die oben beschriebenen Zustande und Zustandsubergange sind in der folgenden Darstellung mit den Mitteln des UML Zustandsdiagrammes abgebildet gasf rmig temperatur 100 C entry verdampfen exit Kondensieren amp do flie en temperatur 0 C temperatur gt 0 C entry erstarren exit schmelzen Abbildung Zustande und Zustandsubergange des Wassers bei Normaldruck Zustandsorientierte Problemstellungen finden sich bei eingebetteten System recht haufig Deshalb bietet sich auch an diese Aufgabenstellungen mit dem Zustands diagramm nicht nur zu dokumentieren sondern das Zustandsdiagramm als Reali sierungsvorschrift zu verstehen SiSy bietet zur Modellierung von Zustandsdia grammen und zur Codegenerierung aus diesen ein spezielles Attribut im Klassen diagramm an Zustandsdiagramme beschreiben m gliche Zust nde und Zu stands berg nge eines Objektes Es wird nur definiert was innerhalb einer In stanz passiert Interaktionen mit anderen Instanzen zeigt das Zustandsdiagramm nicht Damit kann ein Zustandsmodell eindeutig einer Klasse zugeordnet werden Das geschieht ber das spezielle Zustandsattribut Dieses ist auch gleichzeitig die Variable in der sich eine Instanz w hrend ihrer Lebenszeit den aktuellen Zustand speichert Klassen k nnen ber mehr als ein
39. fe l uft diese unendlich Zeile 11 Die letzte geschweifte Klammer bedeutet das Ende des Funktionsk r pers Alles was nach dieser Klammer steht geh rt nicht mehr zur Funkti on main Whitespacezeichen und Klammern In C werden sogenannte Whitespace Zeichen Leerzeichen Tabulatoren und En ter einfach ignoriert Sie dienen ausschlie lich der Quellcodeformatierung und haben keinen Einfluss auf den Programmablauf Es ist unerheblich wo und ob Sie Leerzeichen oder neue Zeilen einf gen Innerhalb von Schl sselw rtern Zei chenketten oder Variablennamen d rfen Sie allerdings keine Leerzeichen Tabula toren oder Enter verwenden M glich w re f r unser Mini Programm also auch folgende Schreibweise include lt avr io h gt main DDRB 0xFF while true PORTB OxFF Diese Schreibweise ist zwar zul ssig aber wenig bersichtlich Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe 5 2 Grundzuge objektorientierter Programmiersprachen Ausgangspunkt fur das Verstehen einer objektorientierten Programmiersprache ist immer das objektorientierte Paradigma Das Basiskonzept stellt sozusagen das SOLL und die konkrete Sprache das IST dar Gehen Sie davon aus dass eigent lich in keiner derzeit verfugbaren objektorientierten Sprache auch alle in der Theo rie formulierten Konzepte bereits komplett umgesetzt sind
40. fenbart haben Ordnung Strukturierung hilft Komplexit t zu beherrschen Bekannte Muster sich wiederholende Systematik hilft abstrakte Symbole sind entscheidende Elemente des Verstehens und der Kommunikation Dringt man tiefer in die Problematik ein findet sich sogar eine sozusagen goldene Strukturierungsregel Wie der goldene Schnitt in der Malerei und Architektur gibt es bei der Strukturierung eine einfache Regel wie Symbole anzuordnen oder wann noch abstraktere Symbole genutzt werden sollten Der Schl ssel zum Ver st ndnis findet sich in der Struktur unserer Wahrnehmung Diese verl uft ber das Ultrakurzzeitged chtnis auch sensorisches Ged chtnis Hier werden viele 1000 Informationen in Bruchteil von Sekunden verarbeitet Das geschieht unbewusst Relevante Informationen werden an das Kurzzeitged chtnis zur bewussten Verar beitung weitergegeben Hier k nnen 3 bis 7 Informationen f r Sekunden oder gar Minuten gehalten werden Alles was wir von dort in unser Langzeitged chtnis bringen k nnen wir uns f r unbegrenzte Zeit merken Der Flaschenhals ist das Kurzzeitged chtnis mit seiner Kapazit t von 5 2 Informationen Abbildung goldne Strukturierungsregel myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Die 5 plus minus 2 Regel ist eine Faustformel die dabei hilft Inhalte so zu struktu rieren dass diese schnell wahrgenommen und verstanden werden k nnen Diese Regel basiert auf der be
41. gramms Mit f gt man Kommentare in den C Quelltext ein mit wird der Kommentar wieder beendet Mit kann man einen Kommentar einfugen der nur uber eine Zeile geht Ein Kommentar dient zur Dokumentation des Programms und wird vom Compiler nicht in Maschinencode uber setzt define F_CPU 16000000 Dies ist eine sogenannte Compiler Direktive define weist den Compiler an einem symbolischen Namen einen Wert zuzuordnen Im Quelltext kann dann der Name statt des Wertes verwendet werden Es handelt sich um eine Konstante include lt avr io h gt Dies ist ebenfalls eine Compiler Direktive Zinclude weist den Compiler an eine vorhandene Datei hier einzuf gen h Dateien sind Header Dateien sie enthalten Bibliotheks Funktionen und vordefinierten Deklara tionen wie zum Beispiel Registernamen Die Headerdatei oh verweist auf alle wichtigen Funktionen und Definitionen zur Ein und Ausgabe ber Ports und Register des ausgew hlten AVR Controllers class Controller Das Schl sselwort class leitet eine Klassendeklaration ein Diese ist ge folgt vom Klassennamen und dem Klassenk rper in geschweiften Klam mern Beachten Sie dass Klassendeklarationen immer mit einem Semikolon abgeschlossen werden m ssen Mit der geschweiften Klammer beginnt der Block K rper der Klasse In ihm werden Struktur und Verhalten der Klasse deklariert Beachten Sie dass zu jeder ffnenden Klammer auch eine schlie ende Klammer ge h rt Alles wa
42. hen Ubungen auf das myAVR Board MK3 als Referenz hardware und SiSy AVR SiSy AVR als Modellierungswerkzeug Wenden wir uns zuerst einem kleinen geschichtlichen Abriss des Software Engineering zu Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe 1 4 Problemstellung Nichts ist schwieriger als das Vereinfachen Nichts ist einfacher als das Komplizieren Georges Elgozy D Faktisch alle Aspekte des Software Engineering zielen auf die Beherrschbarkeit von Komplexitat Das ist naturlich keine Eigenheit der Softwaretechnik Komplexi tat gibt es in allen Bereichen der menschlichen Aneignung der Welt Das Beson dere an der Informatik ist inr zartes Alter von vielleicht 70 oder 80 Jahren Damit hinkt sie wie ein kleines Kind vielen anderen Ingenieurdisziplinen um Jahrhunderte an Erfahrung hinterher Versuchen wir uns fur das Problem der Komplexit t zu sensibilisieren Dazu f h ren wir ein kleines Experiment aus Betrachten Sie die folgende Darstellung Sie sollen die Menge der vorgelegten Streichh lzer ermitteln Nehmen Sie sich nicht mehr als 3 Sekunden Zeit In der Softwareergonomie gelten Reaktionszeiten von mehr als zwei Sekunden brigens schon als eher unakzeptabel Es geht also um das Wahrnehmen und das Verstehen Wie viele Streichh lzer sind das ee V a 4 S amp Q ex Wis e of Abbildung Streichholzexperiment 1 Versuch In drei Sekunden werden Sie nicht mehr
43. hritte unterst tzen kann F r die Eingabe von Programmcode mit oder ohne Modellen bzw Diagrammen bietet SiSy als Basiskomponente einen Zeileneditor mit Syntaxfarben und Hilfefunktionen an Modelle werden als Dia gramme erstellt bzw abgebildet Ju SiS or Windows en mn DEE i Projekt Bearbeiten Ansicht Einstellungen Fenster DEST ch A ca E ES Si IE E Programmierung aii is erung amam 89 Schnellzugriff _Kompilieren Linken Brennen _ ee 222 Ausf hren Hilfe o2 ai Title hler Grundger st fiir ATmega 04 05 CO SI aoo ists seemed renee 00 2 0020 ERS 07 ATmega ae 3 6864 MHz 3 Assembler Projekt aE e Navigator eo e Match bw S e Event TIMERL COMPA Timer fCounter1 Compar e Match A TIMER1 COMPB Timer Counterl Compare Match B Strg Klick f r Hilfe TIMER1 OYF Timer fCounterl1 Overflow TIMERO OVF Timer CounterO Overflow SPI STC Serial Transfer ja reti USA RT RXC USART Rx Com 28 reti USART UDRE USART Data Re e Empty 29 reti H USART TXC USART Tx Complete 30 reti ADC ADC Conversion Complete lt reti Interrupt Return PC STACK NNNNNNNN SOU LA Ne OW SiSy Assistent EJ lt lt Programmieren mit SiSy AR a Hinweise zu den Studienheften GPI02 04 und 05 In diesem Diagramm k nnen Sie Programme in verschiedenen Programmiersprachen erstellen AVR Assembler AVR C Assembl tt Diagrammfenster C C Konsole
44. i iri HE eee NNN 900 Abbildung Das MK3 Beispiel testen myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Mit SiSy ab der Ausgabe AVR bzw den entsprechenden Add Ons k nnen aber nicht nur AVR Mikrocontroller programmiert werden sondern auch PC Anwen dungen Sie sollten mit den soeben erworbenen Kenntnissen in der Lage sein ein fertiges Beispiel f r eine Windowsanwendung zu testen Aufgabe Testen Sie die M glichkeiten von SiSy Windowsanwendungen zu erstellen Nutzen Sie verf gbare Vorlagen Hinweise Legen Sie ein neues Projekt an Wahlen Sie das Vorgehensmodell UML mit SVL Smart Visual Library Laden Sie die Diagrammvorlage SVL Smart Visual Library Offnen sie das Klassendiagramm Ballspiel Kompilieren Linken und Starten Sie das Beispiel Appli ication mit SVL RK Se P e P 16 Punkte e 0 ES 8 ae Abbildung Das SVL Beispiel testen Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe 3 Kleine Systeme konstruieren Wer sich zu gro f hlt um kleine Aufgaben zu erf llen ist zu klein um mit gro en Aufgaben betraut zu werden Jacques Tati Abbildung ein ATtiny10 Bild Atmel Wer glaubt dass Assemblerprogrammierung ein alter Hut ist sollte sich ein wenig mit den j ngsten kleinsten und energieeffizientesten tinyAVR besch ftigen Diese besitzen erstaun
45. ich entwickelt Weiterhin lassen sich numerische Verfahren Textverarbeitung und Datenbanken aber auch Spiele effizient in C realisieren C verlangt jedoch vom Programmierer eine gewisse Disziplin zum Beispiel im Um gang mit Speicherressourcen In anderen Sprachen BASIC JAVA C wird das Speichermanagement dem Programmierer abgenommen Daf r ist der Speicher bedarf solcher Programme auch oft um ein vielfaches h her als bei C und die Programme selbst laufen viel langsamer als ein vergleichbares C Programm Editor Quellcode Kompiler Linker Programm Die Schritte von der Idee zum lauff higen Programm sind in der Regel Folgende Arbeitsschritt Werkzeug Aufgabe Problem verstehen Kopf L sungsidee entwerfen Stift Tafel oder CASE Tool Quellcode schreiben Editor Progarmmierumgebung Quellcodemodule bersetzen Compiler Module zu Programm binden Linker Fehler im Programm suchen Debugger Simulator Programm zum Controller bertragen Programmer Zuerst muss der Algorithmus entworfen werden Ist dieser klar kann der Quellco de erstellt werden Das geschieht mit einem Quelltexteditor Danach wird ein Compiler und Linker aufgerufen Der Kompiler berpr ft den Code auf Syntaxfeh ler und bersetzt diesen in eine Objekt Datei Maschinencode Dieser Objektcode wird vom Linker weiterverarbeitet Durch den Linker wird der Objektcode mit den n tigen Bibliotheksfunktionen verbunden um somit ein ausf hrbares Programm zu e
46. icher e ist KEINE Programmiersprache man kann mit ihr aber programmieren e ist KEIN vollst ndiger Ersatz f r eine Textbeschreibungen man kann mit ihr aber immer mehr beschreiben e ist KEINE Methode oder Vorgehensmodell mit ihr wird die Systementwicklung aber viel methodischer e ist NICHT f r alle Aufgabenklassen geeignet sie dringt jedoch in immer mehr Aufgabengebiete vor Die UML spezifiziert selbst keine explizite Diagrammhierarchie Die Diagramme der UML werden verschiedenen semantischen Bereichen zugeordnet e Structure Strukturdiagramme e Class Diagram Klassendiagramm wichtigstes Diagramm Klassen und ihre Beziehungen untereinander e Package Diagram Paketdiagramm gliedert Softwaresysteme in Untereinheiten e Object Diagram Objektdiagramm Objekte Assoziationen und Attributwerte zu einem bestimmten Zeitpunkt w hrend Laufzeit e Composite Structure Diagram Kompositionsstrukturdiagramm Abbildung innerer Zusammenh nge einer komplexen Systemarchitektur Darstellung von Design Patterns e Component Diagram Komponentendiagramm Komponenten und ihre Beziehungen und Schnittstellen e Deployment Diagram Verteilungsdiagramm Einsatzdiagramm Knotendiagramm Laufzeitumfeld Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe e Behavior Verhaltensdiagramme e Use Case Diagram Use Case Diagramm Anwendungsfalldiagramm stellt Beziehungen zwischen Akteuren und Anwendungsfallen dar e Activi
47. ie Anforderungen und Erfahrun gen aus der Lehrt tigkeit der Autoren an Berufsakademien Fachhochschulen und bei Erwachsenenqualifizierungen ein Gerade hier liegt das Spannungsfeld Die Ausbildung von Informatikern ber Elektrotechniker bis zu Mechatronikern gestal tet sich mehr und mehr zur Herausforderung Dem Informatiker wird viel Software technik in einer zunehmend von der Hardware abstrahierten Welt und faktisch kei ne Elektrotechnik vermittelt Dem Elektrotechniker wird naturgem viel Elektro technik mit auf den Weg gegeben aber f r die Softwareentwicklung obwohl oft hardwarenah vermittelt fehlt die Zeit zur notwendigen Vertiefung Mechatroniker klagen sowieso ber die ungeheuere Stofff lle zwischen Mechanik Hydraulik Pneumatik Elektrotechnik und Informatik Grau teurer Freund ist alle Theorie und gr n des Lebens goldner Baum Faust der Trag die erster Teil Johann Wolfgang von Goethe Oft wird Software Engineering und die in diesem Diskurs angebotenen Techniken und Werkzeuge als nett aber in der Gier endlich seine Ideen in Quellcode zu wandeln als hinderlich angesehen Hier vertreten die Autoren den Standpunkt dass eine Technik nur dann von praktischem Nutzen ist wenn die Arbeitsergeb nisse des einen Schrittes in geeigneter Form im n chsten Arbeitsschritt m glichst direkt weiterverwendet werden k nnen und von Werkzeugen unterst tzt werden Dieser Sachverhalt wird in theoretischen Abhandlungen nicht erlebbar
48. indung zwischen CPU und den ben tigten Bausteinen erfolgt ber ein externes Bussystem Die komplette Zentraleinheit wird als Mikro prozessor bezeichnet Wenn nun alle wesentlichen Baugruppen die Zentralein heit das Speicherwerk und entsprechende Peripheriebausteine in einem Geh u se integriert sind bezeichnet man diesen kleinen Komplettrechner als Mikrocont roller Ein Chip Mikrorechner oder Embedded Computer Dabei wird oft das Prin zip der Harvard Architektur angewendet Damit bezeichnet man die im Gegensatz zur von Neumann Architektur getrennten Speicher f r Programme und Daten Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe SYSML Blockdefinitionsdiagramm hddj Prinzipaufbau Mikrocontroller bl ock Mikrocontroller lt lt subsysten gt gt lt lt subsysten gt gt Rechenwerk Steuerwerk ALU E lt lt subsy3ten gt Interrupt Controller lt lt subsysten gt gt SL internes Bus Systen Uhr Timer lt lt SUbsyStel gt gt SpeichrwerE lt lt subsysten gt gt lt subsys ten lt lt subsysteno gt Proqrammspeicher Arbeitsspeicher Zusatzspeicher FLASH SPAM EEProm ve L t ae Eingabeger te a f lt lt interfacerr g os Ausgabeger te Abbildung Prinzipaufbau eines Mikrocontrollers Um das Sprungparadigma zu verstehen ist es n tig sich mit dem Arbeitszyklus eines Digitalrechners auseinanderzusetzen Nachdem ein Digitalrechner mit Spannung versorgt oder ei
49. ing Leseprobe Sisy Windows Application mit SVL Oo U U ei Willkommen Neues Projekt erstellen Projekt ofinen To N Projektarchiv einlesen i Assistent ffnen SiSy kennenlernen e BC N N d Wi e A Z be a j ee 3 g aS bet gt Abbildung Startbildschirm von SiSy S Installation der Hardwaretreiber Die myAVR Produkte mit USB Anschluss verf gen ber einen CP2102 USB Cont roller der Firma Silicon Labs Dabei handelt es sich um eine USB UART Bridge die einen virtuellen COM Port im System zur Verf gung stellt Dieser kann wie ein normaler physischer COM Port benutzt werden Die aktuellsten Treiber f r die USB Hardware finden Sie auf www silabs com Sollten Sie die Treiber separat in stallieren gehen Sie bitte wie folgt vor Entpacken Sie die heruntergeladene Datei in ein tempor res Verzeichnis auf Ihrer Festplatte F r eine reibungslose Installation schlie en Sie das Board noch nicht an und starten das Treiberinstallationsprogramm InstallShield Wizard Complete The InstallShield Wizard has successfully copied the Silicon Laboratories CP210x YCP Drivers for Windows 7 v5 40 24 to your hard drive The driver installer listed below should be executed in order to install drivers or update an existing driver e gy Silicon Laboratories Click Finish to complete the Silicon Laboratories CP210x USB to UART Bridge Drivers for Windows 7 fi AU Installation Loc
50. is 255 an das Board gesendet und Text empfangen werden Die empfangenen Daten werden im Protokollfenster ange zeigt it ControlCenter eg _ BE PN C x DU AL JET Corntrolesrrter Start Stopp EZS d Auswahl serielle Verbina Schaltfl che Einstellungen COM Port Daten Senden Text i Sender 3 Text oder Byte Zahl Senden Senden Daten Aufzeichnen com 9600 N 8 1 Moglichkeit zur Aufzeichung der empfangenen Daten Empfangen Tet Zahl Oszi a Protokollfenster f r Text Zahlen oder Grafik DO nn Oo ur gt OO ul a an Einstellungen f r Hervarheben M sco EM fit die Darstellung Abbildung myAVR Controlcenter Nutzen Sie die zahlreichen Hilfen und Vorlagen die SiSy AVR bietet Der Assistent von SiSy bietet Ihnen Beispielprogramme Hinweise und interessan te L sungen Eine ausf hrliche Beschreibung zum Assistenten und der Hilfefunk tionen z B Syntax zu Befehlen oder Druckmoglichkeiten finden Sie im Benutzer handbuch von SiSy AVR Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe 2 6 Grundlagen der Bedienung von SiSy Sollten Sie mit der allgemeinen Bedienung von SiSy bereits vertraut sein k nnen Sie dieses Kapitel berspringen Im Benutzerhandbuch und mit den verschiede nen Schnelleinstiegen im Downloadbereich unter www myAVR de finden Sie zahl reiche Anleitungen und Anregungen zu den M glichkeiten des We
51. is die Bedingung der Schleife eine Null false ergibt Im Fall der Hauptschleife l uft diese unendlich Diese geschweifte Klammer bedeutet das Ende des Funktionsk rpers Alles was nach dieser Klammer steht geh rt nicht mehr zur Funktion Die letzte geschweifte Klammer bedeutet das Ende des Klassenk rpers Alles was nach dieser Klammer steht geh rt nicht mehr zur Klasse Dieser Kommentar dient der bersichtlichkeit Controller app In Zeile 22 wurde eine globale Instanz vom Typ Controller angelegt Ab hier kann von ber all auf die Applikation app zugegriffen werden main Dies ist die Deklaration der strukturierten Hauptfunktion Hauptpro gramm Sie wird nach dem Start des Systems immer als erstes abgear beitet Eine klassische Hauptfunktion ist nach wie vor n tig Diese ist da f r verantwortlich die aktive Klasse zu initialisieren und zu starten Mit dieser geschweiften Klammer beginnt der K rper der Funktion main In ihm werden alle Anweisungen festgelegt die die Funktion nacheinan der abzuarbeiten hat Beachten Sie dass zu jeder ffnenden Klammer auch eine schlie ende Klammer geh rt Alles was sich innerhalb der ff nenden und schlie enden Klammer befindet geh rt zu dem Block BI cke k nnen wiederum Bl cke enthalten app powerOn Es wird an die globale Instanz app die Nachricht powerOn gesendet Zeile 26 Die letzte geschweifte Klammer bedeutet das Ende des Funktionsk r p
52. ken sind nicht immer zwingend standardisiert und k nnen von Anbieter zu Anbieter gravierende Unterschiede aufweisen Zus tzlich legt der Programmierer eigene Bezeichner f r Variablen und selbstdefinierte Funk tionen und Typen fest Anweisungen und Ausdr cke Eine Anweisung ist die kleinste Programmiereinheit Mehrere Anweisungen k n nen mit geschweiften Klammern in Bl cke zusammengefasst werden Jede An weisungen muss immer durch ein Semikolon abgeschlossen werden Ein Aus druck ist eine der Sprachregeln folgende Aneinanderreihung von Bezeichnern Zahlen Strings sowie Operatoren Ausdr cke liefern immer ein Ergebnis eine Anweisung zahl 5 8 ein Ausdruck 5 8 Blockbildung Da die Sprache C dem Modulkonzept folgt werden bei der Programmentwicklung konsequent Module als Bl cke gebildet Dabei ist das Mindeste die Festlegung eines Anfangs und Endes f r den Modulblock Das geschieht mit den geschweif ten Klammern Soll ein funktionale Einheit Modul nicht nur einmal inline son dern mehrfach verwendet werden bekommt diese zus tzlich einen Namen und Parameter Abbildung Modulbildung in C myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Die wichtigsten Datentypen in AVR C char Datentyp fur eine Textvariable Character Buchstabe 8 Bit Wertebereich 128 127 Beispiel char buchstabe K int Datentyp f r eine Ganzzahl Integer 16 Bit Wertebereich 32768 32767 Bei
53. lator XTAL1 Oscillator Circuits Clock Generation PA7 O PG5 0 PORT G 6 ke Ht Shaded parts only available in the 100 pin version Complete functionality for the ADC T C4 and T C5 only available in the 100 pin version fi ee oe ae Sal ZIREEZ Se EEE BEE RES ER es ee ee Fi et TI von ii PF7 0 PK7 0 eave oo zii PJ7 0 PE7 0 _ ee EEE A D Internal Bandgap reference ANR cpu FLASH Isar Analog u 16bit TIC 3 16bit T C 5 16bit T C 4 m d zl rom PD7 0 PB7 0 PH7 0 PL7 0 Abbildung Aufbau des AVR RISC Controllers ATmega2560 der Firma Atmel Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe Inbetriebnahme der Ziel Hardware Stellen Sie die Betriebsbereitschaft Ihres myAVR Boards her Dazu muss die vor her beschriebene Installation der Hardwaretreiber erfolgt sein Bitte verbinden Sie das Board mit dem PC ber das USB Kabel Die USB Hardware wird vom Be triebssystem erkannt und installiert i Neue Hardware gefunden X i Neue Hardware gefunden Silicon Labs CP210x USB to UART Bridge Die neue Hardware wurde installiert und kann jetzt verwendet werden Abbildung Das erste Anstecken des myAVR Board Das Board ist jetzt als virtueller COM Port VCP im System verf gbar Sie k nnen die vom Betriebssystem zugewiesene Nummer des Ports im Ger tem
54. liche Eigenschaften Abmessungen von 2 mm x 2 mm und eine m glichen Versorgungsspannung von unter 1 Volt einen Verbrauch im Mikroam pere Bereich und weniger trotzdem bis zu 12 Millionen Operationen pro Sekunde aber eben auch nur 32 Byte Arbeitsspeicher in Worten zweiunddrei ig Hoch sprachen wie C oder C verbrauchen viel zu viel dieser knappen Ressource der genialen kleinen Zwerge 3 1 Die von Neumann Architektur und Sprungorientierung In den sp ten 1940er Jahren leistete der Ungar Janos Neumann John von Neu mann 1903 1957 aus seiner T tigkeit zur Stabilit tsanalyse numerischer Re chenverfahren beim Manhattenprojekt heraus einen ma geblichen Beitrag zum Bau der ersten amerikanischen Universalrechner Er war in dieser Beziehung so zusagen der amerikanische Conrad Zuse 1910 1995 Auch wenn er nicht der Sch pfer des ersten funktionsf higen Digitalrechners war so geht jedoch auf ihn die Systematisierung der seinerzeit wichtigsten Prinzipien f r die Funktionsweise und des Aufbaus von digitalen Universalrechnern zur ck Man bezeichnet diese Systematisierung als von Neuman Architektur Rechner die nach diesen Prinzi pien aufgebaut sind nennt man von Neumann Rechner Es wird sogar behauptet er habe diese Systematisierung eigentlich als Patentschrift verfasst diese sei aber aufgrund der damals bereits seit ber 100 Jahren vorliegenden Patentschriften von Charles Babbage 1791 1871 als Patent abgelehnt worden Vieles von dem was H
55. lle Subsystem Controller Aktoren block Regelstrecke Benutzer Subsystem Sensoren Abbildung Referenzarchitektur eingebetteter Systeme Die rein zahlenm ige Menge der eingebetteten Systeme und rasenden Verbrei tung derartiger L sungen f hren jedoch zu zunehmendem Interesse an diesen Vom professionellen Anwendungsbereich bis zu Hobby und Kunst erfreuen sich Mikrocontroller immer gr erer Beliebtheit Der Buchmarkt wird berschwemmt von Werken die den Einstieg in die Programmierung von Mikrocontrollern leichter machen sollen Gleichzeitig nehmen Wissen Leistungsf higkeit der Systeme Systemkomplexit t und Projektgr e zu Damit geht einher dass die Quelltext gr e der daf r n tigen Software sich zunehmend der Beherrschbarkeit des Ent wicklers entzieht Moderne Werkzeuge bieten dem Entwickler neue Techniken an die vor allem als grafische Programmiersprachen verstanden werden m ssen Die UML Unified Modeling Language und die SysML Systems Modeling Language markieren momentan und gewiss auch in den n chsten Jahren den Stand der Kunst Folgen Sie uns auf dem Weg vom Basteln zum Konstruieren Die Arbeitsweise mit diesem Lehrbuch kann dem individuellen Wissensstand an gepasst sein Die Kapitel sind der generellen Reihenfolge nach aufeinander auf bauend aber im Detail auch einzeln nachvollziehbar Das gesamte Lehrbuch be zieht sich in den praktisc
56. n Linken und auf das MK3 Board zu bertragen Brennen Diese Ak tionen erreichen Sie ber das Aktionsmen Kaes mn gem sis f r Windows test sp Projekt Bearbeiten Ansicht Einstellungen Fenster EI Ia as PORTK g Navigator fo tees B UML Klassendi PORT K Data Register i Schnellzugritt Strg Klick f r Hilfe 1er eut t al K lcd configLcd PORT 4 45 btnLeft config POR IT4 3 46 btnRight config PORTK BIT6 47 game GE E 48 timerl config_compareMatch Timerl Deep 49 timerl1 configInt_compare true 50 mainloop starten 51 run uhren Joystick nac _ 4 Cp Aktionsmen Some oi gt gt gt Erstellen Brennen amp Ausf hren gt y Erstellen dx volatile int16_t 20 dy volatile int16 t 30 5 Alles neu erstellen curX volatile int16_t 10 Diagrammeinstellungen offnen curY volatile int16_t 10 SiSy Assistent EDR fur dieses Klassendiagramm erstellen WER confia void ES A OD Standard ZC _ onTimer10ms void Bun QD Klassendiagramm Arbeitspaket erstellen Keen void By det ZE a N Diag sta QD Klassendiagramm Ubersicht Quelltexte komplett erstellen winPoint void speedUp void LedBitmap QD Klassendiagramm Ubersicht mit Quelltextteilen erstellen om cl QD Klassendiagramm Ubersicht ohne Q
57. n 262 144 Byte berpr ft EEPROM 0 von 4 096 Byte warte Fuses Protokoll der letzten Aktion enutze nySnartusB MK3 an COMS mit ATmega2560 schre a Flash 14048 Bytes Dauer 2 28 s Schlie en Laser amp Co Solutions GmbH www myAVR de Mikrocontroller leicht gemacht Abbildung Das myAVR ProgTool nach erfolgreichem Brennen Nach dem Erstellen und Brennen wird die Anwendung ausgef hrt Das MK3 Board erh lt die n tige Spannungsversorgung ber den USB Anschluss und Sie k nnen das Beispiel testen Beachten Sie dass die Button und das Display akti viert also mit dem Controller verbunden sind Quick Connect Option Je ai OP Dua dE ER ppm l 0 ann T BAZAZBH Bar i ann A E Si 70 O O j 4 e i RR np RW RR D ee P gt T y j BT GO BS o F sl we a S oO k k ng es 0 D weg i e gt RI y H MN I f WT 900000 ii pa ee a a BS oe 6 8 8 00000000 00000000 CK KKK 22930 zer WW gt oooo00005 PPP EP Err perene cbse ethene ress stos aA pe e fe s fm s e UG IOC IT 9 H u WE OSSO o T 555555050080 0000 0000 00000000 gr r Sr ge gr a od V ws e w Pe 0000000090909 e ie PR i E f ork S 000000 00000900 2000000 00000000 GSESUCOCGO 000000009 00000000 ee LE ye 8 600000000000 _ 000000 i 000000000000 000000 Senksknk kggathhakhb gt j
58. n Reset ausgef hrt wurde befinden sich die f r die Steuerung der Zentraleinheit entschiedenen Register im Ursprungszustand SP Stackpointer 0 PC Program Counter 0 IR Instruction Register 0 Status Register SREG 0 Register Set rO r31 0 Die Zentraleinheit fuhrt solange Spannung an liegt und kein Resetsignal vorliegt ununterbro chen den abgebildeten Arbeitszyklus aus Die ser Arbeitszyklus fuhrt dazu dass ab der Adres se 0 die im Programmspeicher befindlichen Be fehle nacheinander abgearbeitet werden Dabei wird der Befehlsz hler Program Counter bei jedem Zyklus ohne zutun des Programmierers automatisch um eins erh ht und bringt die Zent raleinheit auf den n chsten auszuf hrenden Be fehl Dabei werden die Befehle tats chlich in der Reihenfolge ihrer Speicherung im Programm speicher abgearbeitet sequenzielle Verarbei tung Mit bestimmten Befehlen kann jedoch der Inhalt des Befehlsz hlers Program Counter di rekt ver ndert werden Diese speziellen Befehle bewirken eine sprungartige Neuausrichtung der Zentraleinheit auf einen Befehl der an einer be UML Aktivit tsdiagramm Arbeitszyklus a POWER ON RESET fetch lese Befeh BR FLASHI PC decode dekodiere Befehl execute f hre Befehl aus next Befehlsz hler PC 1 Abbildung Arbeitszyklus einer Zentraleinheit liebigen Position im Programmspeicher liegen kann Ein Sprung
59. nachbearbeit Dialog der Objekte kleines Pagem a Programm Struktogramm SG rogrammablaufplan PAP u ssendiagramm sind diese Einstellungen nen die Einstellungen ee unter Extras AVR z ane Hier kon objektbezogen ge ndert werden Abbildung der Hardware Assitent wird gestartet Wahlen Sie im Einstellungsdialog f r die Hardware den mySmartUSB Mk3 Ermit teln Sie ber die zugeh rige Schaltfl che mit dem Fragezeichen den vom Be triebssystem festgelegten Port und bernehmen Sie die Einstellung Durch wie derholtes Bet tigen der Schaltfl che k nnen Sie den angeschlossenen Controller ermitteln lassen bernehmen Sie auch hier die korrekten Einstellungen f r den Controllertyp Speichern Sie die vorgenommenen nderungen cs myAVR ProgTool V 1 31 Lo Programmer mySmartUSB MK3 C myAVR Board MK3 nfo p C mySmartUS _ C AVR ISP mk myAVR Boa myMultiPro VE eiber 5 4 29 0 Anschluss Anschluss Ger te ID mySmartUSB3 0001 usb 48 74 coms Port oe Firmware V 1 0 5 5 b141 Parallel Speed 3555552 s myAVR Boa SP Speed 33222 b s scan C AVR Dragon lt a pemn ae Controller ATmega2560 DRS Anschluss Hilfe bei Verbindungsproblemen Laser amp Co Solutions GmbH www myAVR de Mikrocontroller leicht gemacht Abbildung Die Einstellungen f r das MK3 Board wurden ermittelt F r eine Vielzahl von Funktionen ist es wichtig mit welcher Geschwindigkeit der Contr
60. nen Test mit der SD CARD ben tigen Sie eine FAT16 formatierte SD Card mit Dateien in der Wurzel myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Boardtest Menu e Das hs Pe erscheint beim Start JA NEIN e Zum n chsten Testschritt gelangen Sie mit Dr Start cken von Taster 3 E JA 1 NEIN Zur ck e Zum Start gelangen Sie zur ck wenn Sie Taster 1 dr cken RW JA LI NEIN nn e Testverkabelung entsprechend Bild im Abschnitt Die Referenzhardware JA RW NEIN Start e Hauptment wird im Grafik LCD erzeugt WM JA NEIN e Segment Anzeige gibt Zahlen aus m A V Phe Einen my e LEDs leuchten alle nacheinander JA LI NEIN Weiter mit Taste 3 e Ihnen erscheint das erste Font Beispiel verschie dene Texttypen sind zu erkennen RW JA LI NEIN e Drucken Sie den Joystick um sich ein weiteres Fontbeispiel anzusehen JA LI NEIN i f i S i d press PUTON an Weiter mit Taste 3 OSC ee e In der n chsten Anzeige die Ihnen erscheint k n ainalle Rich ue nen Sie mit Hilfe des Joysticks den Cursor beliebig 7 Tasted bewegen JA L NEIN Weiter mit Taste 3 e Zur nderung des Kurvenverlaufs im Analogmen drehen Sie am untersten Potentiometer bzw vari ieren den Lichteinfall auf den Lichtsensor Lsa nen d Weiter mit Taste 3 e Schalten Sie nacheinander die DIP Schalter ein 123356786 Lsa nen ege e Im Grafik L
61. ng durch denjenigen der die zweite Darstellung legt eine Systematik hineingedacht die dem Betrachter nicht einmal erkl rt werden musste sondern die offensichtlich selbsterkl rend wirkt Ser Sym bol 10er Gruppen von links nach rechts von oben nach unten Hier scheint Un ordnung gegen Ordnung zu stehen Das ist zum einen durchaus richtig zum an deren stellen wir uns einfach eine noch gr ere Anzahl Streichh lzer in der ange botenen Ordnung vor Wir w ren wieder nicht in der Lage trotz Ordnung die An zahl in drei Sekunden zu erfassen und der Platz f r die bildliche Darstellung w re recht ppig Auch dieses Problem wurde schon lange gel st Man l st sich von dem Gedanken die H lzer m ssten als reale Gegenst nde pr sent sein um deren Anzahl zu vermitteln Der Weg f hrt zu abstrakten Symbolen die vereinbart fest gelegt und vor allem gelernt werden um schnell und effizient Sachverhalte zu vermitteln Sie erfassen und verstehen die Zahl 2011 in Bruchteilen von Sekun den Dazu sind Sie in der Lage weil Sie die Symbole und die Regeln ihrer An wendung muhselig erlernt haben Stellen Sie sich einfach die Kommunikation ber Anzahl und Mengen L ngen Zeiten usw auf Streichholzniveau vor Erster Abstraktionsschritt alles ab der Zahl F nf wird als Symbol dargestellt Ein vollst ndig abstrahiertes symboli sches Zahlensystem Abbildung Verstehen durch zunehmende Abstraktion Folgendes sollte sich jetzt of
62. oller l uft Die Geschwindigkeit des Controllers wird durch seinen Takt be stimmt Das ist eine von der vorliegenden Hardware bestimmte Gr e und muss Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe unbedingt in der Software mit den tatsachlichen Hardwaregegebenheiten uberein stimmen Im Auslieferungszustand ist die MK3 Hardware auf den 16 MHz Quarz der myAVR Stamp eingestellt Diese Taktgeschwindigkeit muss f r das angelegte Projekt ausgew hlt werden Mit Bet tigen der Schaltfl che Fertigstellen werden die gew hlten Einstellungen als Projektstandards gespeichert verwendete Hardware mySmarUSB MK3 an COM8 mit ATmega2560 verwendete Taktrate Abbildung Die Taktrate f r das MK3 Board wurden eingestellt Vorlagen nutzen SiSy bietet je nach Vorgehensmodell und gew hlten Optionen geeignete Vorlagen mit Bibliotheken und Beispielen F r die ersten Schritte w hlen wir fertige Beispie le um diese zu testen und die Arbeit mit SiSy kennenzulernen W hlen Sie die Di agrammvorlage AVR C Bibliotheken und Beispiele Es wird ein komplettes Projekt mit UML Klassenbibliotheken und Anwendungsbeispielen importiert Degen Geet CH E e e oe e RAA ala keine Vorlage verwenden ll den Assistenten benutzen Import Fortschritt En e Daten bitte warten eeng _Boa M y R art Gep P Daa ple Boa rdMk3_06_ E alo UR erLCD Sample_ BoardMk3_07_LcdMenu a _BoardMk3 AY IR ao Das
63. orgehensmodell aus Kompilieren Linken Brennen Ausf hren 9014 include u nun ide SO ce cf ra AVR n UML Objektorientierte Techniken UML mit SVL Smart Visual Library Anschluss ber USB oder LPTICOM 003 Start Abbildung ein neues SiSy Projekt erstellen myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Einstellungen fur die Zielhardware Bei der Entwicklung von Mikrocontrollerl sungen wird auf dem PC der Quellcode geschrieben und in Maschinencode ubersetzt Der Maschinencode ist jedoch nicht auf dem PC ausfuhrbar sondern muss in den Programmspeicher des Mikrocont rollers Ubertragen werden Dazu muss die Zielhardware uber ein Programmierge rat an den PC angeschlossen werden In unserem Fall ist das Programmiergerat der mySmartUSB MKS Dieser ist auf dem MK3 Board als Tochterplatine integ riert Der Mikrocontroller befindet sich auf der myAVR Stamp Im folgenden Bei spiel wurde ein MK3 Board mit einer myAVR Stamp 256 Plus verwendet Diese ist mit einem ATmega2560 bestuckt Dieser wird von einem 16 MHz Quarz getaktet SiSy fordert Sie bei der Wahl des AVR Vorgehensmodells dazu auf die Hard wareinformationen fur das gesamte Projekt festzulegen E R Achtung Sie MOSSEN die von Ihnen genutzte Hardwa Ei don ration einstellen um Programme erfo chi mode eren und linken zu kon tir i d st Einstellungen jederzeit ser ee ters punkt Proj Defini Batas AVR
64. ower supply Leseprobe 143 3 Grafik LCD graphical Ic display Daten datas Steuerung controling Segment Anzeige 7 Segment Display Abbildung Blockbild des myAVR Board MK3 myAVR Stamp DisplayTech 641 28K 3Vott Grafik LCD 128 x 64 Pixel m tine F 7aLvxe3245 Si GND Abbildung Schaltplan myAVR Board MK3 myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe mySmartUSB 5 MK3 mySmartUSB MK3 Abbildung quick connect Verbindungen des myAVR Board MK3 Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering De AHA tid A ai pa cooccecd SE m PEJ PB2 PBt Reset a Tea am Sa 1 ki PDIF PAD XTALIIPBOT Reset NERI eet so eege Done EN ng gt S ne ah ard Un u UARTO Abbildung Wor vegt 5 M a TER COMPA voct ts TIMER COMPS voct 314 A D ENK I AOG A ZA we d erent Dawes e en Do 0600000000 79800000 27 OD R e S d GE ct Ra z zg KA Sg mu E H 2 Board er Leseprobe rb SEW LUA RTA spezielle Verbindungen des myAVR Board Mk Se READY EPROM Ready ____ TMERS CAPT Timar Counter Capture Event Timar Gounter Compara Match A TINERI COMPE voct Br a eee Lee eoue a T TME TMERSOVF
65. r hmten magischen 7 von George Armitage Miller Seine Untersuchungen markierten die 7 als eine Obergrenze f r unser Kurzzeitged cht nis So sollten in einem visuellen Zusammenhang etwa f nf bis maximal sieben jedoch nicht weniger als drei wesentliche Informationsbl cke dem Betrachter an geboten werden Abbildung sofort berschaubare Struktur Trotz Unordnung berblicken wir den Sachverhalt denn der angebotene Inhalt passt in das Wahrnehmungsraster 5 2 Abbildung Strukturierung nach 5 2 Regel Wird das Wahrnehmungsraster 5 2 berschritten f llt uns das schnelle Erfassen schwer Bringen wir den Inhalt in eine Struktur die wiederum dem 5 2 Prinzip folgt nehmen wir es wieder schnell wahr Oben wurden zwei Bl cke mit je vier Elemen ten angeordnet Werden es mehr als sieben Bl cke wird es wieder schwierig Abbildung Reduktion der Anzahl an Elementen durch Abstraktion Trotz der Strukturierung in Bl cken zu je vier Elementen und drei Zeilen ber schreitet die Anzahl der Spalten das Wahrnehmungsraster 5 2 und zwingt uns zum m hseligen langsamen und auch fehleranf lligen Z hlen Durch die Abstrak tion der Elemente in Zahlensymbole wird der zu vermittelnde Inhalt wieder schnell erfassbar Auf der Ebene der jetzt eingenommen Abstraktionsstufe gilt aber wie derum das 5 2 Prinzip 72567809 gt 72 567 809 Abbildung 5 2 Regel auf der abstrakten Ebene Der Tausenderpunkt strukturiert die Zahlenkolonne wieder nach dem
66. r auch automatisch ein Konto Der Betriebsrat existiert au erhalb des Mitarbei ters Der Mitarbeiter muss sich die Adresse des Betriebsrates erst noch beschaf fen um mit diesem Nachrichten auszutauschen Das Konto kann sofort benutzt werden class Mitarbeiter public Person Aggregation hat Konto public Konto konto im Verleich dazu eine Assoziation kennt public Betriebsrat adresseBetriebsrat Nachrichten in C Meier bekommt eine Pramie und spendet davon etwas an den Betriebsrat Beachten Sie die unterschiedlichen Zugriffssymbole BE axe Mitarbeiter meier Nachricht 500 Euro einzahlen an das Konto von Meier meier konto einzahlen 500 Nachricht 5 Euro spenden an die Adresse des Betriebsrates adresseBetriebsrat gt spenden 5 TT wks Ein einfaches C Programm fur AVR Mikrocontroller 01 ZE Grundstruktur eines AVR C Programms 0 define E CRU 16000000 03 include lt avrfio h gt 04 class Controller 051 06 public void powerOn 08 ff Initalisierung B O Ausgang 09 ddrB bitoO 1 10 rung f 13 public void run A 15 while true 17 1 portB bitO 1 Ausgabe 22 Controller app 3 main 24 25 app power n 26 Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe Erlauterung der verwendeten Befehle Zeile1 Zeile 2 Zeile 3 Zeile 4 Zeile 5 Zeile 6 Zeile 7 Grundstruktur eines AVR C Pro
67. rkzeuges SiSy Im Folgenden sollen f r die weitere Arbeit immer wiederkehrende Handhabungs schritte kurz erkl rt werden Ein neues Projekt anlegen Starten Sie SiSy und w hlen Neues Projekt erstellen Legen Sie einen Namen f r das Projekt fest Es wird ein Projektverzeichnis erzeugt in dem die zum Projekt geh renden Dateien abgelegt werden Es kann in einem Projektverzeichnis immer nur eine Projektdatenbank enthalten sein SiSy Windows Application mit Neues Projekt erstellen u Vorhandenes Projekt ffnen e Projektvorlage verwenden TR Projektdateiname Projektarchiv einlesen a Projekt Projekt berschreiben Assistent ffnen EE mt Werlagen Frojektwerzeichnis C Projekte Le a eem Abbildung ein neues SiSy Projekt erstellen F r die weitere Arbeit ist es n tig sich auf ein so genanntes Vorgehensmodell festzulegen SiSy arbeitet diagrammorientiert Das bedeutet dass alle Elemente die zu einem Projekt geh ren als grafische Objekte in einem Diagramm angelegt werden Bestimmte Elemente k nnen wiederum wie ein Hyperlink mit Diagram men hinterlegt werden Das Vorgehensmodell ist die Einstiegsebene f r die zu erstellenden Diagramme Es bildet das Home Verzeichnis von dem aus alle weite ren Diagramme zu erreichen sind Das Vorgehensmodell legt auch fest welche Diagrammtypen im Projekt zur Verf gung stehen W hlen Sie f r diese Ubung das AVR V
68. rzeugen Bei der Programmierung in AVR C liegen im Projektverzeichnis Da teien mit folgenden Endungen vor Rule AsceH DECO Quelltext Programm Sig sh Header Dateien Definitionen E e eo Objekt Dateien Maschinencode Modul eg ey Bibliothek Sammlung von Objektdateien hex bin elf ausfuhroares Mikrocontrollerorogramm myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe C Sprachumfang Die Sprache C selbst umfasst wie die meisten strukturiereten Hochsprachen eine berschaubare Menge an Befehlen und Schl sselworten Diese Bezeichner haben eine bestimmte Funktion oder Bedeutung und k nnen vom Programmierer nur in den vorgesehen Bedeutungen verwendet werden Eine Redeklarion oder Neuver wendung der Bezeichner die zum Sprachumfang der Programmiersprache geh ren ist ausgeschlossen deshalb nennt man diese Bezeichner auch reservierte Worte Im Folgenden ist die Sprache C fast komplette aufgezeigt Erlaubte Zeichen ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz Erlaubte Sonderzeichen Tore Cy pe Ree _ lt gt Dezimalziffern 1234567890 Schl sselworte und Bezeichner f r den Anfang wichtige fett auto double int struct break else long switch case enum register typdef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while Bin re arithmetische Operatoren zwei Operanten n tig Addition
69. s sich innerhalb der ffnenden und schlie enden Klammer befindet geh rt zu dem Block Bl cke k nnen wiederum Bl cke enthal ten public void powerOn Die Deklaration einer Mitgliedsfunktion Operation Methode einer Klasse muss in deren Klassenkorper erfolgen Es ist mindestens die Sichtbar keit Tyo und Name der Operation anzugeben Parameter werden in run den Klammern mit Typ und Name aufgelistet Wenn die Operation keine Parameter besitzt mussen leere Klammern notiert werden Diese Mit gliedfunktion soll aufgerufen werden wenn der Controller eingeschaltet wurde Mit der geschweiften Klammer beginnt der K rper dieser Funktion In ihm werden alle Anweisungen festgelegt die die Funktion nacheinander ab zuarbeiten hat Beachten Sie dass zu jeder offnenden Klammer auch ei ne schlie ende Klammer geh rt Alles was sich innerhalb der ffnenden und schlie enden Klammer befindet geh rt zu dem Block Bl cke k n nen wiederum Bl cke enthalten myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe Zeile 8 Zeile 9 Zeile 10 Zeile 11 Zeile 12 Zeile 13 Zeile 14 Zeile 15 Zeile 16 Initalisierung B 0 Ausgang Bei dieser Zeile handelt es sich wiederum um einen Kommentar Der Unterschied zum ersten Kommentar ist dass hier ein anders Symbol verwendet wurde Man ben tigt hier kein Endsymbol da dieses Kom mentarsymbol automatisch bis Zeilenende gilt ddrB bit0 1
70. spiel int alter 37 float Datentyp f r eine Flie kommazahl die Kommastelle symbolisiert ein Punkt 32 Bit Wertebereich 3 4 10 3 4 10 Beispiel float alter 37 5 Eine ausf hrlichere Auflistung von Datentypen steht Ihnen im Anhang zur Verf gung H ufig sind bei der Deklaration von Variablen noch die Schl sselworte unsigned und volatile anzutreffen unsigned vorzeichenlos legt fest dass ein Wert kein Vorzeichen besitzt also nur positive Zahlen darstellen kann Der Typ unsigned selbst repr sentiert ein Bit Beispiele char wertl 8 Bit Wertebereich 128 127 unsigned char wert2 8 Bit Wertebereich 0 255 int wert3 16 Bit Wertebereich 32768 32767 unsigned int wert4 16 Bit Wertebereich 0 32767 volatile fl chtig legt fest dass der Wert einer Variablen durch andere Quel len oder Ereignisse au erhalb der Funktion ver ndertwerden kann Die Wirkung der Deklaration als fl chtig d h das bei jeder Ver nde rung der Wert sofort in seinen zugeh rigen Speicher im SRAM zu r ckgeschrieben wird und vor jeder Benutzung von dort gelesen Desweiteren sind diese Variablen von jeglicher Optimierung des Compilers ausgeschlossen Beispiel volatile int wert5 16 Bit von Optimierung ausgeschlossen bool Wahrheitswert 8 Bit Wertebereich true false Da bei C die bersetzung von bestimmten Datentypen z B int von der Verarbei tungsbreite der Zielplattform 8 16 32 64 Bit a
71. sven L bmann Dipl Ing Toralf Riedel Dipl Ing Pad Alexander Huwaldt Software Engineering f r Embedded Systems Ein myAVR Lehrbuch f r die praxisorientierte Einf hrung Software Engineering mit AVR Mikrocontrollern MCU ATmegatd 128 256 0 myAVR_MESLod a Lal ae wane coli i e wt oa SR 1 ST i as KCL Ee RE i wari CH pai fozkesrta sg Fat J T a K o Stesel NV Eech i pores me I saby Pwischader Je i pargar Leseprobe 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 Haf tung bernehmen F r Verbesserungsvorschl ge und Hinweise auf Fehler sind die Autoren dankbar Alle Rechte vorbehalten auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zul ssig Fast alle Hardware und Softwarebezeichnungen die in diesem Dokument erw hnt werden sind gleichzeitig auch eingetra gene Warenzeichen und sollten als solche betrachtet werden 1 Auflage Dezember
72. ty Diagram Aktivit tsdiagramm beschreibt Ablaufm glichkeiten die aus einzelnen Aktivit ten Schritten bestehen e State Machine Zustandsdiagramm Zustandsautomat zeigt eine Folge von Zust nden eines Objekts e Sequence Diagram Sequenzdiagramm wichtigstes Interaktionsdiagramm zeigt den zeitlichen Ablauf von Nachrichten zwischen Objekten e Communication Diagram Kommunikationsdiagramm fr her Kollaborationsdiagramm Interaktionsdiagramm zeigt Beziehungen und Interaktionen zwischen Objekten e Timing Diagram Timingdiagramm Zeitverlaufsdiagramm Interaktionsdiagramm mit Zeitverlaufskurven von Zust nden e Interaction Overview Interaktions bersichtsdiagramm Interaktionsdiagramm zur bersicht ber Abfolgen von Interaktionen hnlich Aktivit tsdiagramm Die Ableitung weiterer Diagrammarten ist durchaus m glich bzw sogar gewollt und wird von der UML auch entsprechend unterst tzt Dazu stellt die UML M g lichkeiten zur Anpassung des Modellger stes Metamodell zur Verf gung Das wichtigste Werkzeug zur Anpassung der UML an spezifische Anforderungen Pro filing ist das Stereotypkonzept Dabei entstehen so genannte UML Profile GEES ems 8 W AA Aktivit ten Pakete Anwendunsf lle _ Interaktionen zustande Kaf A A a Objekte Zeitverl ufe ___ Abbildung Taxonomie der UML myAVR Lehrbuch Software Engineering Laser amp Co Solutions GmbH Leseprobe 5 5 Modellierung mit dem Zustandsdiagramm der
73. uelltextteilen ersteller Das Klassen Diagramm dient zum Modellieren der statischen Struktur von Klassen und deren Beziehungen et A bef Inhalt Ausgabefenster I meen Klassen mit Attributen und Operationen Ausgabefe nster mit Beziehung zwischen den Klassen Formatierte Ausg abe Vorlagen in den verschiedenen Sprachen C Win32 SVL C Konsole 32bit C Win32 GUI app Controller Generiere Quelltexte Protokollausgaben Suche Diagramme ok Pr fe Diagramme 6 von 6 Paketen Java Bearbeite Diagramme C Kompiliere die Datei Sample_MoardMk3_10_GamePing cpp Vorlagen f r AVR Sprachen Bilde all a AVR C Ge Sater rons racic od en der objektorientierten 7 D I iot ia Nia Linke Datei Sample_MoardMk3_10_GamePing elf Brenne Daten aus Datei Sample_MoardMk3_10_GamePing elf Ende Abbildung Das Beispiel Erstellen Brennen und Ausf hren Laser amp Co Solutions GmbH myAVR Lehrbuch Software Engineering Leseprobe F r das bertragen Brennen auf den Mikrocontroller ffnet sich das myAVR ProgTool Es ist f r den gesamten Vorgang des Brennens und das berpr fen der erfolgreichen bertragung verantwortlich Daf r verf gt es ber ein eigenes Proto kollfenster Treten Fehler bei der bertragung auf bleibt das Protokollfenster offen und ist rot hinterlegt sn 100 berpr ft Flash myAVR ProgTool V 1 31 ee Flash 14048 vo
74. ung die dem Bezeichner DDRB den Wert OxFF zuweist Zu beachten ist das die Anweisung Befehl mit einem Semikolon abzuschlie en ist Zeile 11 while 1 1 Das Schl sselwort while zeigt eine Wiederholbedingung in C an Die ei gentliche Bedingung wie lange bzw wie oft die Anweisung im Schleifen block wiederholt werden soll folgt in runden Klammern Die Bedingung 1 1 ist immer wahr Zu Deutsch wiederhole solange 1 gleich 1 ist Also f r Immer Es ist m glich hier auch nur eine 1 oder das Schl sselwort true zu verwenden da das Ergebnis dieser Ausdr cke immer dasselbe ist Zeile 8 Die geschweifte Klammer ffnet einen Block in dem Fall den Schleifen block f r die Wiederholung while 1 1 Zeile 9 PORTB OxFF Ausgabe Die Zeile 9 enth lt den fortlaufend auszuf hrenden Befehl in der Schlei fe Der Schleifenblock kann mehr als einen Befehl enthalten Weitere Be fehle k nnen innerhalb der Klammer eingef gt werden und m ssen ein zeln mit einem Semikolon abgeschlossen sein Die Zeile enth lt einen zus tzlichen Kommentar Es ist deutlich zu sehen dass der erste Teil der Zeile eine g ltige Anweisung ist und ab dem Kommentarsymbol eine Erl uterung folgt Zeile 10 Diese geschweifte Klammer schlie t den Schleifenblock Alles was zwi schen der ffnenden Klammer und der dazugeh rigen schlie enden Klammer steht wird so lange wiederholt bis die Bedingung der Schleife eine Null false ergibt Im Fall der Hauptschlei

Download Pdf Manuals

image

Related Search

Related Contents

Bose 40326 loudspeaker  MODELO: SERIE LH600  仕様書ダウンロード pdf  T'nB CIIBB2 mobile device charger  cm 5sb instructions de securite et mode d`emploi  istruzioni per l`uso - tuning  índice - PCE Instruments  Procedimiento: El alumno leerá el anexo I. Éste recoge un texto  Juzt-Reboot® User`s Manual  Manual de Instalação do Leitor Bio 3000  

Copyright © All rights reserved.
Failed to retrieve file