Modellgestütztes Software Engineering. Versuch 5. Wintersemester 2015

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Modellgestütztes Software Engineering. Versuch 5. Wintersemester 2015"

Transkript

1 Modellgestütztes Software Engineering Versuch 5 Wintersemester 2015 Version 7.0.1, 16. Dezember 2015

2 Inhalt 1 OOP IN C UMSETZUNG IN RAPHSODY (RIC) DIE ENTWICKLUNGSUMGEBUNG HARDWARE MCB EMBEDDED UML MIT DEM REALTIME EXECUTION FRAMEWORK RXF VON WILLERT NEUES PROJEKT FÜRS ZIELSYSTEM... 6 a) Projekt anlegen... 6 b) Profil auswählen... 6 c) Benennungen anpassen... 7 d) Stereotype festlegen... 7 e) Header Dateien einbinden... 8 f) Diagramme anlegen KOMPONENTEN DES BOARDS ERSTES PROJEKT MIT DEN PORT LEDS a) LED mit einer HAL-Klasse LED0 ohne weitere Intelligenz ansteuern b) Generate Make and Run c) LED mit einer intelligenten Klasse ansteuern d) Aufgabe LED1: TASTERINT0 IM POLLING BETRIEB JOYSTICK a) Aufgabe Joystick: POTI a) Aufgabe Poti LCD-TFT DISPLAY-PANEL 240X AUFGABEN a) Aufgabe LED b) Aufgabe Joystick c) Aufgabe Poti d) Ihre Projektidee: EVENT DURCH EINE ISR AUSLÖSEN LITERATUR

3 1 OOP in C Im Folgenden werden die Konzepte vorgestellt, die verwendet werden um auch in der strukturierten Programmiersprache C objektorientierte Ansätze umsetzen zu können. Objekte werden als Strukturen (structs) realisiert. Die Methoden werden zu eigenständigen Funktionen, denen bei jedem Aufruf ein Zeiger auf das zu verwendende Objekt übergeben werden muss. 1.1 Umsetzung in Raphsody (RiC) Folgende Klassen werden in C realisiert Realisierung von cklasse Die Struktur erhält den Namen der Klasse: /*## class cklasse */ typedef struct cklasse cklasse; struct cklasse { int iwert; /*## attribute iwert */ }; Die Methoden werden als eigenständige Funktionen angelegt. Es gilt folgende Namensregelung: Klassenname_Methodenname Zusätzlich zu den übergeben Variablen kommt immer noch ein Pointer auf die Struktur der Klasse dazu. void cklasse_setiwert(cklasse* const me, int iein) Auf die Memebervariablen der Klasse muss immer über den übergebenen Zeiger zugegriffen werden. me->iwert=iein; 3

4 Ausgeführte Methoden: /*## operation GetiWert() */ int cklasse_getiwert(cklasse* const me) { /*#[ operation GetiWert() */ return me->iwert; /*#]*/ } /*## operation SetiWert(int) */ void cklasse_setiwert(cklasse* const me, int iein) { /*#[ operation SetiWert(int) */ me->iwert=iein; /*#]*/ } Instanziierung eines Objektes: /*## classinstance itscklasse */ struct cklasse itscklasse; Bereits beim Aufruf des Konstruktors wird ein Zeiger auf die entsprechende Struktur übergeben. cklasse_init(&(itscklasse)); Beziehungen zwischen Klassen (hier die Aggregation) Die Beziehung wird durch einen Zeiger innerhalb der Klasse (struct) ctest realisiert. typedef struct ctest ctest; struct ctest { RiCReactive ric_reactive; struct cklasse* itscklasse; /*## link itscklasse */ /*#[ ignore */ int rootstate_substate; int rootstate_active; /*#]*/ }; Die konkrete Realisierung erfolgt durch einen Link zwischen zwei Instanzen. Soll auf die Klasse zugegriffen werden, so muss der Zeiger aus der Struktur verwendet werden. cklasse_setiwert(me->itscklasse, 5); 4

5 2 Die Entwicklungsumgebung 2.1 Hardware MCB1700 Bild: MCB1700 Quelle: Auf dem Board wird ein Cortex M3 Mikrocontroller von NXP (LPC1758) eingesetzt. Zur Vorbereitung sollten Sie den MCB1700 User s Guide[4] durcharbeiten. Folgende Features werden für den Laborbetrieb benötigt: LCD-TFT Display-Panel Port LEDs Joystick Analog Voltage Control for ADC Input (Potentiometer) INT0 Pushbutton 2.2 Embedded UML mit dem Realtime execution Framework RXF von Willert Willert Embedded UML RXF TM verbindet Rhapsody mit der Keil uvision IDE. Es optimiert die Codegenerierung für Ressourcen schonende Verwendung in embedded real-time Umgebungen. Im Dokument UML-Getting Started[5] ist der Installtionsvorgang und das Einrichten eines Projektes beschrieben. Sie sollten dieses Dokument kennen. 5

6 2.3 Neues Projekt fürs Zielsystem a) Projekt anlegen Legen Sie ein neues Projekt in Rhapsody in C an. Aus dem Verzeichnis \Vorlagen\SDLY\DemoDVD_Rhp_ \Software\WST wird der folgende Ordner ins Projektverzeichnis kopiert. Setup_Rpy_C_OORTX_Keil_ARM_MCB1700_Eval_TD_V6.01 b) Profil auswählen Über den Menüpunkt Add Profile to Model.. können vorbereitet Profile ausgewählt werden. Bild: Auswahl eines Profiles Im Verzeichnis Profile befinden sich entsprechende Dateien. Share/Profiles/WST_RXF_V6/Rpy_C_OORTX_Keil_ARM_MCB1700_Eval_TD_Profile.sbs Bild: Auswahl des Profils Rpy_C_OORTX_Keil_ARM_MCB1700_Eval_TD_Profile.sbs 6

7 c) Benennungen anpassen Zur besseren Orientierung ist es sinnvoll unter Components die Bezeichnung MCB1700 und unter Configurations die Bezeichnung Debug zu verwenden. d) Stereotype festlegen Bild: Einheitliche Bezeichnung einführen Zwei Stereotype werden benötigt um die Projekte umsetzen zu können. Bild: Stereotype auswählen 7

8 e) Header Dateien einbinden Es besteht die Möglichkeit fürs Projekt global Header-Dateien vorzugeben. Diese Dateien werden in jedes Modul des Projektes eingebunden. Hier wird die Datei lpc17xx.h benötigt. Bild: Header für Prozessor Neben dem Header für den Prozessor wird fürs das verwendete Board ein Modul fürs Display benötigt. Diese Einstellung sollte aber unter den Konfigurationen verwaltet werden. Bild: Header fürs Display einbinden 8

9 f) Diagramme anlegen Im Projekt werden zwei OMDs benötigt. Das OMD Overview zum Entwurf und das OMD Runtime zur Realisierung. Bild: OMDs anlegen 9

10 3 Komponenten des Boards 3.1 Erstes Projekt mit den Port Leds Die Port Leds sind an die folgenden Ports angeschlossen. P1.28 (2^7) P1.29 (2^6) P1.31 (2^5) P2.2 (2^4) P2.3 (2^3) P2.4 (2^2) P2.5 (2^1) P2.6 (2^0) Vor der Verwendung müssen die GPIOs initialisiert werden. Im Folgenden ein Beispiel für LED0. Für Port2 muss das Register LPC_GPIO2 verwendet werden. Ausführliche Informationen unter [7]. Initialiserung (hier für LED0): LPC_GPIO1->FIODIR =(1<<28); //Output LPC_GPIO1->FIOPIN&=~(1<<28); //Off Off: LPC_GPIO1->FIOPIN&=~(1<<28); //Off On: LPC_GPIO1->FIOPIN =(1<<28); //On Toggle: LPC_GPIO1->FIOPIN ^=(1<<28); //On a) LED mit einer HAL-Klasse LED0 ohne weitere Intelligenz ansteuern Bild: Klasse LED0 10

11 Selbstverständlich könnte diese Klasse auch so erweitert werden, dass bei der Initialisierung der Port und der Pin vorgegeben werden. Zum Testen wird eine seperate Klasse angelegt. In der ein Zustandsautomat das Blinken übernimmt. Bild: Test für LED0 Hier wernden Methoden der Klasse LED verwendet, die Klasse selber verfügt über kein Verhalten. Die Realisierung wird im OMD Runtime vorgenommen. Bild: Realisierung 11

12 b) Generate Make and Run Wie bisher auch wird mit GMR das Projekt erstellt. Neu ist, daß nun ein Vorlagenprojekt, dass zuvor in den Projektordner kopiert wurde, ausgewählt wird. Zu den schon im Vorlagenprojekt vorhandenen Dateien werden die neuen Projektdateien hinzugefügt. Die Dateien finden sich unter dem folgenden Pfad...Versuch5\Setup_Rpy_C_OORTX_Keil_ARM_MCB1700_Eval_TD_V6.01\WILLERT\Samples\Code\ GettingStarted\GettingStarted.uvproj Bild: Auswahl Vorlagenprojekt In einem letzten Schritt wird das Projekt nun mit Keil uvision 4.74 geöffnet. (Es gibt auch eine Portierung für Keil uvision 5.xx.) Bild: Start der Keil uvision 12

13 Nun geht alles seinen gewohnten Gang, es liegt ein normales uvision Projekt vor das übersetzt und getestet werden kann. Es können auch Änderungen oder Korrekturen vorgenommen werden, die allerdings von Hand ins UML Design übernommen werden müssen. Bild: Realisierung 13

14 c) LED mit einer intelligenten Klasse ansteuern Die Klasse enthält nun einen Zustandsautomaten. Die Umschaltung erfolgt über Ivents, die an das Objekt geschickt werden. Die Klasse enthält nur eine Initfunktion und einen Zustandsautomaten. Bild: Klasse LED1 Bild: Zustandautomat LED1 d) Aufgabe LED1: Testen Sie die Funktion von LED1. 14

15 3.2 TasterINT0 im Polling Betrieb Init: Read: LPC_GPIO2->FIODIR &= ~(1<< 10); //P2.10 Input if((lpc_gpio2->fiopin&(1<<10))==0) return 1; else return 0; Bild: Klasse TatserINT0 Bild: Test des Tasters 15

16 3.3 Joystick Der Joystick ist über Pull-Down Widerstände an die folgenden Ports angeschlossen. P1.23 up P1.24 right P1.25 down P1.26 left P1.20 press Initialisierung: LPC_GPIO1->FIODIR &= ~((1<<20) (1<<23) (1<<24) (1<<25) (1<<26)); // P1.20, P is input Read Funktion: unsigned int val; val = (LPC_GPIO1->FIOPIN >> 20) & 0x ; //JOY_MASK; return(val); a) Aufgabe Joystick: Ordnen Sie die das Anschalten der LEDs den folgenden Joystickfunktionen zu: Up LED3 P2.2 R LED4 P2.3 Down LED5 P2.4 L LED6 P2.5 PUSH LED7 P2.6 16

17 3.4 Poti Port P0.25 wird als Eingang für den AD-Wandler0 Kanal2 (AD0.2) verwendet. Bei der Initialisierung werden die entsprechenden Einstellungen vorgenommen. Eine Möglichkeit zum Auslesen ist im Folgenden beschrieben. Initialisierung: LPC_PINCON->PINSEL1 &= ~(3<<18); /* P0.25 is GPIO */ LPC_PINCON->PINSEL1 = (1<<18); /* P0.25 is AD0.2 */ LPC_SC->PCONP = (1<<12); /* Enable power to ADC block */ LPC_ADC->ADCR = (1<< 2) /* select AD0.2 pin */ (4<< 8) /* ADC clock is 25MHz/5 */ (1<<21); /* enable ADC */ Read Funktion: int adwert; LPC_ADC->ADCR &= ~(7<<24); LPC_ADC->ADCR = (1<<24); //stop conversion // start conversion while (!(LPC_ADC->ADGDR & (1UL<<31))); adwert = LPC_ADC->ADGDR; LPC_ADC->ADCR &= ~(7<<24); return((adwert >> 4) & 0xFFF); // Wait for Conversion end // stop conversion // read converted value a) Aufgabe Poti Geben Sie den Poti-Wert als Zahlenwert und als Bargraph auf dem Display aus. In welchem Wertebereich arbeitet das Potentiometer? Der Funktion Bargraph wird zuerst die Koordinate für die Linke obere Ecke übergeben, dann folgt Breite, Höhe und die Angabe für den ausgefüllten Anteil in Promille. Mit dem Potentiometer wird die Geschwindigkeit des Lauflichts verändert. 3.5 LCD-TFT Display-Panel 240x320 Es steht ein Bibliothek zur Verfügung, vor der ersten Benutzung des Displays muss dieses initialisiert werden. Wird das der Speicher nicht gelöscht so entsteht ein buntes Hintergrundbild. GLCD_Init(); GLCD_Clear(White); Die verfügbaren Funktionen und die vordefinierten Farbwerte finden Sie in der Headerdatei glcd.h z.b. void GLCD_DisplayChar (unsigned int ln, unsigned int col, unsigned char c); void GLCD_DisplayString (unsigned int ln, unsigned int col, unsigned char *s); void GLCD_Bargraph (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned int val); //val

18 4 Aufgaben a) Aufgabe LED1 b) Aufgabe Joystick c) Aufgabe Poti d) Ihre Projektidee: 18

19 4.2 Event durch eine ISR auslösen Der Button INT0 kann einen externen Interrupt auslösen, er ist an P2.10 angeschlossen. In einer eigenen Klasse, von der ein Objekt angelegt wird, kann in der Init() Funktion die entsprechenden Einstellungen vorgenommen werden. //EXTINT INI LPC_PINCON->PINSEL4 = 0x ; // set P2.10 as EINT0 and P2.0~7 GPIO output */ LPC_GPIOINT->IO2IntEnF = 0x200; // Port2.10 is falling edge. */ LPC_SC->EXTMODE = 0x ; // EINT0_EDGE; // INT0 edge trigger LPC_SC->EXTPOLAR = 0; // INT0 is falling edge by default NVIC_EnableIRQ(EINT0_IRQn); Jeder Interrupt löst eine ISR aus so auch hier. Die ISR muss innerhalb einer Header Datei ins Projekt eingebunden werden, hier Ext_INT_P2_10.h #include "LPC17xx.h" #include "default.h" #include "tester.h" //Klasse in der ein Event erzeugt werden soll void EINT0_IRQHandler (void) { LPC_SC->EXTINT = 0x ; Tester_sendEv_Taster(evZiel); } Vorgehensweise: DefaultComponent-> Add New File->Name.h Name.h ->Feature Menue -> Elements-> ICON New Text Elements-> Hier Source Code einfügen In der ISR kann auf die gesamte Hardware des Controllers zugegriffen werden. Wie aber kann ein Event ausgelöst werden. Es wird ein Globaler Zeiger auf eine Klasse benötigt, in der ein Event ausgelöst wird (hier evtaster). Packages->Default->Add New Variable Typ void und wichtig Reference (Zeiger) aktivieren In der Init() Funktion der Klasse, in der der Event ausgelöst werden soll, muss die globale Variable initialisiert werden. evziel=me; Anlegen eines Events und Erstellen einer Funktion, die einen Event auslöst. Diese Funktion kann in der ISR aufgerufen werden. /*## operation sendev_taster() */ void Tester_sendEv_Taster(Tester* const me) { /*#[ operation sendev_taster() */ RiCGEN(me, evtaster()); /*#]*/ } 19

20 5 Literatur Nachfolgend findet sich eine Zusammenstellung weiterführender Informationen, die mit dem Inhalt dieses Laborversuchs in Zusammenhang stehen. [1] Rupp, Queins, Zengler; UML 2 Glasklar; Hanser [2] [3] UML 2.0 Das umfassende Handbuch, Christoph Kecher, Galileo Computing [4] [5] [6] [7] Board: Schaltplan: Datasheet LPC1758 User Manual LPC

Die Entwicklungsumgebung. Labor Technische Informatik. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber

Die Entwicklungsumgebung. Labor Technische Informatik. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber Die Entwicklungsumgebung Labor Technische Informatik Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber 19.04.2011 Inhalt 1 Das Keil MCB1700 Board...2 2 Keil ARM MDK Toolchain...3 2.1 Projekterstellung...3

Mehr

Labor Modellgestütztes Software Engineering. Versuch 1

Labor Modellgestütztes Software Engineering. Versuch 1 Labor Modellgestütztes Software Engineering Versuch 1 Wintersemester 2015 Dipl.-Ing. (FH) Joachim Hampel Version 7_01, 11.10.2012 Inhaltsverzeichnis Inhalt 1 EINFÜHRUNG... 3 1.1 RHAPSODY MODELER... 4 1.2

Mehr

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs Programmieren 9.1.11 Microcontroller Kurs/Johannes Fuchs 1 General Purpose Input Output (GPIO) Jeder der Pins der vier I/O Ports kann als Eingabe- oder Ausgabe-leitung benutzt werden.

Mehr

Embedded Hardware Getting Started

Embedded Hardware Getting Started Embedded Hardware Getting Started HW - Ressourcen 2 Arduino Installation-Guide 4 Arduino IDE/Download 4 Arduino Treiber Installation 5 Arduino DIE starten 7 Arduino IDE - Getting Started (Code-Basiert)

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

myavr Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg für myavr Board MK3

myavr Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg für myavr Board MK3 myavr Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg für myavr Board MK3 Zielstellung Dieser Schnelleinstieg demonstriert das Arbeiten mit dem Klassendiagramm in SiSy AVR mit der Bibliothek für das

Mehr

11: Echtzeitbetriebssystem ucos-ii

11: Echtzeitbetriebssystem ucos-ii 11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren

Mehr

myavr Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg für myavr Board MK3

myavr Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg für myavr Board MK3 myavr Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg für myavr Board MK3 Zielstellung Dieser Schnelleinstieg demonstriert das Arbeiten mit dem Klassendiagramm in SiSy AVR mit der Bibliothek für das

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg am Beispiel myethernet-projekt

Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg am Beispiel myethernet-projekt Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg am Beispiel myethernet-projekt Zielstellung Dieser Schnelleinstieg demonstriert das Arbeiten mit dem Klassendiagramm in SiSy AVR, am Beispiel des myethernet-projektes.

Mehr

Labor Modellgestütztes Software Engineering. Versuch 2

Labor Modellgestütztes Software Engineering. Versuch 2 Labor Modellgestütztes Software Engineering Versuch 2 Wintersemester 2012 Dipl.-Ing. (FH) Joachim Hampel Version 5 11. Oktober 2012 Inhaltsverzeichnis 1 EINFÜHRUNG... 3 2 VERWENDETE DIAGRAMME... 4 2.1

Mehr

eblock, SD-Kartenleser Projektteam: Henrik Esche Tobias Albers Michael Heßling Daniel Lütfrenk Jonas Wieschmann

eblock, SD-Kartenleser Projektteam: Henrik Esche Tobias Albers Michael Heßling Daniel Lütfrenk Jonas Wieschmann eblock, SD-Kartenleser Projektteam: Henrik Esche Tobias Albers Michael Heßling Daniel Lütfrenk Jonas Wieschmann eblock, SD-Kartenleser Zieldefinition: Am 17.06.2009 ist ein eblock betriebsbereit und mit

Mehr

Objekt-basiert oder objekt-orientiert? Moderne Low Level Treiberprogrammierung mit C/C++ Programmier-Paradigmen Programmiersprachen C und C++

Objekt-basiert oder objekt-orientiert? Moderne Low Level Treiberprogrammierung mit C/C++ Programmier-Paradigmen Programmiersprachen C und C++ Objekt-basiert oder objekt-orientiert? Moderne Low Level Treiberprogrammierung mit C/C++ Renate Schultes MicroConsult GmbH Objekt-basiert oder objekt-orientiert? Agenda Agenda Programmier-Paradigmen Programmiersprachen

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

SSA P_51_002_NEU. doc

SSA P_51_002_NEU. doc SSA P_51_002_NEU. doc Lehrfach: Mikrorechentechnik Versuch: Sieben-Segment-Anzeige Oc Hochschule Zittau/Görlitz; Fachbereich Elektro- und Informationstechnik Prof. Dr.-Ing. Kühne April 2005 Bearb.:Dipl.-Ing.

Mehr

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Betreuer: Dipl.-Ing. A. Cemal Özlük Dipl.-Inf. Uwe Ryssel ALLGEMEINE

Mehr

PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14

PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14 PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14 Einführung Benötigtes Material: Notebook oder Computer PCD1 E-Controller USB Kabel Schulungsplatine Ethernet Kabel Benötigte Software

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Erste Schritte der Programmierung in C

Erste Schritte der Programmierung in C Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)

Mehr

C++ mit dem Arduino (Uno und Mega2560)

C++ mit dem Arduino (Uno und Mega2560) C++ mit dem Arduino (Uno und Mega2560) 1. Toolchain Als toolchain bezeichnet man die Reihe von Software, die nötig ist um den Prozessor zu programmieren, das Ergebnis draufzuladen und dann zu testen. Hier

Mehr

analoge Ein- und Ausgänge

analoge Ein- und Ausgänge 2016/07/17 13:39 1/5 analoge Ein- und Ausgänge analoge Ein- und Ausgänge Neben den digitalen Leitungen bietet der Arduino mehrere analoge Ein- und Ausgänge. analoge Ausgänge Die Ausgänge sind mit PWM bezeichnet.

Mehr

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch};

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch}; Aufgabe 1: (15 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Zusatzinformation zum USB-Flashdrive mit ARM und RS232

Zusatzinformation zum USB-Flashdrive mit ARM und RS232 Zusatzinformation zum USB-Flashdrive mit ARM und RS232 1. Belegung der LCD-Schnittstelle an JP3: REGISTER_SELECT READ_WRITE ENABLE DISPLAY_D0 DISPLAY_D1 DISPLAY_D2 DISPLAY_D3 DISPLAY_D4 DISPLAY_D5 DISPLAY_D6

Mehr

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer 2015. Andreas Zeller, Universität des Saarlandes

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer 2015. Andreas Zeller, Universität des Saarlandes Erste Schritte Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Das Arduino-Board Ihr Fundino-Board Anschluss über USB Anschluss über USB Programmierumgebung Download

Mehr

i2c-bus.de I2C-002 KURZBESCHREIBUNG I 2 C Modul mit PCA8574 8-Bit I/O Port-Expander Dokument NR.: I2C-002-D-01

i2c-bus.de I2C-002 KURZBESCHREIBUNG I 2 C Modul mit PCA8574 8-Bit I/O Port-Expander Dokument NR.: I2C-002-D-01 DA CL Dokument NR.: I2C-002-D-01 I2C-002 KURZBECHREIBUNG I 2 C Modul mit PCA8574 8-Bit I/O Port-Expander P Bitte denken ie an die Umwelt, bevor ie diese Datei ausdrucken DA CL Inhaltsverzeichnis 1. Modul

Mehr

Prof. Dr. Pollakowski 19.03.2013

Prof. Dr. Pollakowski 19.03.2013 Installations- und Bedienungsanleitung für die Mikrocontroller-Entwicklungsumgebung, das Mikrocontroler-Experimentalsystem und den Mikrocontroller-Simulator 1 Begriffe: Entwicklungsumgebung = ein Programm

Mehr

Anleitung Laborpraktikum VLSI-Technik: Versuch 3 / Verhalten des realen IC

Anleitung Laborpraktikum VLSI-Technik: Versuch 3 / Verhalten des realen IC Anleitung Laborpraktikum VLSI-Technik: Versuch 3 / Verhalten des realen IC Inhalt 1. Einleitung... 1 2. Erstellen eines Inverters... 1 3. Erstellen eines Blockes / Modules... 14 4. Bau eines komplexen

Mehr

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt ECC 2013 Marcel Berger 1 Agenda Motivation Einführung Microsoft.NET Micro Framework Einführung Microsoft.NET Gadgeteer Vorteile Architektur

Mehr

Praktikum Betriebssysteme 1. Aufgabe (1)

Praktikum Betriebssysteme 1. Aufgabe (1) FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten

Mehr

RTOS mit Energiesparfunktionen für Low-Power Applikationen

RTOS mit Energiesparfunktionen für Low-Power Applikationen mit Energiesparfunktionen für Low-Power Applikationen 2012 by roger.weber@bfh.ch Low-Power Applikationen Portable und Batteriebetriebene Geräte Quelle: Bayer Vital GmbH Quelle: BFH-TI Quelle: www.garmin.com

Mehr

Übung zur Vorlesung Programmieren in C

Übung zur Vorlesung Programmieren in C Übung zur Vorlesung Programmieren in C 6 Pointers Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 6 Pointers Wintersemester 2015/2016 1 / 29 Gliederung

Mehr

Abhängig von Monitorgrösse und gewählter Auflösung können die Menueleisten etwas anders aussehen als in den Bildern dargestellt.

Abhängig von Monitorgrösse und gewählter Auflösung können die Menueleisten etwas anders aussehen als in den Bildern dargestellt. Einrichten eines Assembler-Projektes IAR-Embedded Workbench 3.* (IAR-EW) Stand 19.01.2005 Diese Anleitung darf unbeschränkt für den privaten und gewerblichen Bereich genutzt werden. Eine Weitergabe an

Mehr

Erster Schritt Vom Herunterladen bis zum Programmieren

Erster Schritt Vom Herunterladen bis zum Programmieren Erster Schritt Vom Herunterladen bis zum Programmieren Revision vom 27.07.2012 Verzeichnis 1. Einleitung 3 2. Herunterladen 4 3. Installation 5 4. Atmel Studio 6 6 4.1. Neues Projekt 7 4.2. Hinzufügen

Mehr

Autonome Mobile Systeme. Dr. Stefan Enderle

Autonome Mobile Systeme. Dr. Stefan Enderle Autonome Mobile Systeme Dr. Stefan Enderle 2. Mikrocontroller Einleitung Unterschied Controller / Prozessor: Speicher (RAM, Flash, Eprom) intern Viele I/Os (Digital, Analog) Bus-Unterstützung (Seriell,

Mehr

8.1 Grundsätzlicher Aufbau der Beispiele

8.1 Grundsätzlicher Aufbau der Beispiele 107 8 Beispiele Nachdem nun viele theoretische Grundlagen gelegt wurden, kann man mit dem Programmieren eines Mikrocontrollers beginnen. In den folgenden Kapiteln werden verschiedene Möglichkeiten der

Mehr

Tag 2 Eingabe und Interrupts

Tag 2 Eingabe und Interrupts Tag 2 Eingabe und Interrupts 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Taster Direkt an Portpin angeschlossen (etwa PINB0, PIND3) Pull-Up-Widerstände einschalten!

Mehr

Dateien, die nicht in das Projekt eingebunden sind, werden ohne Syntax highlight dargestellt. MiCoWi und µvision Seite 1 Uwe Wittenfeld

Dateien, die nicht in das Projekt eingebunden sind, werden ohne Syntax highlight dargestellt. MiCoWi und µvision Seite 1 Uwe Wittenfeld C-Programmierung von MiCoWi mit der Keil-Entwicklungsumgebung µvision4 1. Erstellung eines neuen Projektes Menüpunkt: Project New µvision Project Es wird ein komplett neues Projekt in einem beliebigen

Mehr

Arduino und Amateurfunk (1)

Arduino und Amateurfunk (1) Arduino und Amateurfunk (1) Vortrag OV-Meeting H08 am 10.01.2012 / 01.09.2012 Historie Der Kern Entwicklungsumgebung Hardware Software Massimo Banzi Und wozu das Ganze? Historie (1) Arduino ist ein Open-Source-Prototypen-System,

Mehr

Interrupt-Programmierung

Interrupt-Programmierung Interrupt-Programmierung Am Beispiel des ATMEGA16 Microcontrollers Beispiel: Messung der Betriebszeit Die Betriebszeit zeigt an, wie lange der Rechner seit dem Booten läuft Hier: Aktualisierung der Betriebszeit

Mehr

C-Programming Hands-on

C-Programming Hands-on C-Programming Hands-on Teil 2 Björn Meyer Fachgebiet Technische Informatik 1 Inhalt dieser Hands-on Session Vorstellung projektrelevanter Funktionalitäten EK-EVALBOT Firmware Development Package Stellaris

Mehr

Anleitung zur Einrichtung von OpenCV

Anleitung zur Einrichtung von OpenCV Anleitung zur Einrichtung von Dieses Dokument beschreibt die Einrichtung und Funktionsüberprüfung von im Kontext der Lehrveranstaltung. Einrichtung Dieser Abschnitt beschreibt die Einrichtung von unter

Mehr

Anleitung zur Einrichtung von OpenCV

Anleitung zur Einrichtung von OpenCV Anleitung zur Einrichtung von Dieses Dokument beschreibt die Einrichtung und Funktionsüberprüfung von im Kontext der Lehrveranstaltung. Einrichtung Dieser Abschnitt beschreibt die Einrichtung von unter

Mehr

Einführung in Mikrokontroller Benutzung mit dem Arduino Board. Ramon Hofer ICVR

Einführung in Mikrokontroller Benutzung mit dem Arduino Board. Ramon Hofer ICVR Einführung in Mikrokontroller Benutzung mit dem Arduino Board Ramon Hofer ICVR Ablauf Warum Mikrokontroller Das Arduino Board Anschliessen von Bauteilen Digitale Ein- und Ausgaben Analoge Eingaben Serielle

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

Howto. Konfiguration eines Adobe Document Services

Howto. Konfiguration eines Adobe Document Services Howto Konfiguration eines Adobe Document Services (ADS) Inhaltsverzeichnis: 1 SYSTEMUMGEBUNG... 3 2 TECHNISCHE VERBINDUNGEN ZWISCHEN DEN SYSTEMEN... 3 2.1 PDF BASIERENDE FORMULARE IN DER ABAP UMGEBUNG...

Mehr

Moderne C-Programmierung

Moderne C-Programmierung Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete

Mehr

Lehrfach: Mikrorechentechnik Versuch: Zeitmessung

Lehrfach: Mikrorechentechnik Versuch: Zeitmessung ZM P_51_004_NEU. doc Lehrfach: Mikrorechentechnik Versuch: Zeitmessung Oc Hochschule Zittau/Görlitz; Fachbereich Elektro- und Informationstechnik Prof. Dr.-Ing. Kühne April 2005 Bearb.:Dipl.-Ing. Sbieschni

Mehr

Bedienungsanleitung Version 1.0

Bedienungsanleitung Version 1.0 Botex DMX Operator (DC-1216) Bedienungsanleitung Version 1.0 - Inhalt - 1 KENNZEICHEN UND MERKMALE...4 2 TECHNISCHE ANGABEN...4 3 BEDIENUNG...4 3.1 ALLGEMEINES:...4 3.2 BEDIENUNG UND FUNKTIONEN...5 4 SZENEN

Mehr

Einführung in wxwidgets & wxdev-c++

Einführung in wxwidgets & wxdev-c++ Einführung in wxwidgets & wxdev-c++ Vortrag im Rahmen der Vorlesung Computational Physics im Sommersemester 2009 Folie 1/13 Gliederung wxwidgets: Übersicht wxdev-c++: Übersicht Installation wxwidgets Syntax

Mehr

D i g i t a l l a b o r

D i g i t a l l a b o r Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik Prof. Dr. A. Ditzinger / Dipl.-Inform. (FH) O. Gniot Prof. Dr. N. Link / Dipl.-Ing. J. Krastel D i g i t a

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Serie 8: Microcontroller 17./18.07.2014

Serie 8: Microcontroller 17./18.07.2014 Serie 8: Microcontroller 17./18.07.2014 I. Ziel der Versuche Erster Erfahrungen mit einem Microcontroller sollen gesammelt werden, die grundlegenden Ein- Ausgabe-Operationen werden realisiert. II. Vorkenntnisse

Mehr

Gliederung Hardware fuer die Zeitmessung Zeitmanagement auf Uniprozessorsystemen. Timing Measurements. Timo Schneider. 4.

Gliederung Hardware fuer die Zeitmessung Zeitmanagement auf Uniprozessorsystemen. Timing Measurements. Timo Schneider. 4. 4. Juni 2005 1 2 Timer Interrupts Software Timer System Calls Die Real Time Clock befindet sich zusammen mit CMOS-RAM (Bios) auf einem Chip, zb Motorola 1416818. Wenn der PC ausgeschaltet wird, wird die

Mehr

keimeno CMS Handbuch Stand 06/2012

keimeno CMS Handbuch Stand 06/2012 keimeno CMS Handbuch Stand 06/2012 INHALT Willkommen... 2 keimeno... 3 Der Aufbau... 3 Einrichten... 3 Themen anlegen und bearbeiten... 3 Kategorien... 7 Kategorien anlegen... 7 Kategorien Bearbeiten...

Mehr

Versuch 1. Labor Technische Informatik. Prof. Dr.-Ing. F.Kesel Dipl.-Ing. (FH) A. Reber

Versuch 1. Labor Technische Informatik. Prof. Dr.-Ing. F.Kesel Dipl.-Ing. (FH) A. Reber Versuch 1 Labor Technische Informatik Prof. Dr.-Ing. F.Kesel Dipl.-Ing. (FH) A. Reber 19.04.2011 Inhalt 1 Unterschiede zum 8051 Labor...2 2 Neue Grundlagen für den Sourcecode...2 2.1 Variablen...2 2.2

Mehr

Die Alternative zum Web-Form Modell

Die Alternative zum Web-Form Modell Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET

Mehr

Kleine Starthilfe für die Inbetriebnahme des GPIO-Expansion-Boards mit PowerPC 565 und RTOS/UH

Kleine Starthilfe für die Inbetriebnahme des GPIO-Expansion-Boards mit PowerPC 565 und RTOS/UH Kleine Starthilfe für die Inbetriebnahme des GPIO-Expansion-Boards mit PowerPC 565 und RTOS/UH mit Beispielprogrammen Prof.Dr.-Ing. Rolf Hausdörfer, Labor Echtzeitsysteme, Fachhochschule Lippe und Höxter,

Mehr

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung. Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter

Mehr

Software mit Tests & Beispielen

Software mit Tests & Beispielen Prüfverfahren Anleitung INHALT Allgemeine Angaben 1. DAS GERÄT... 3 2. DAS GERÄT TESTEN... 4 3. DIE KOMMUNIKATION MIT DEM PC TESTEN... 6 Software mit Tests & Beispielen 1. DIE TESTPROGRAMME HERUNTERLADEN...

Mehr

01.04.2004 Fachbereich Informatik Microcomputer-Labor TFH Berlin MCÜ 65 1. Laborübung -Beschreibung der Hardware -Beschreibung der Aufgabe Seite 2 -Frontplatte des Zielsystems Seiten 3 -Tabellen und Timingdiagramme

Mehr

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

CCS Compiler Tutorial mit Beispielen

CCS Compiler Tutorial mit Beispielen CCS Compiler Tutorial mit Beispielen Mit diesem Tutorial werden Sie den CCS Compiler kennenlernen, um mit ihm Projekte selbstständig erstellen zu können. Es werden zugleich die Programmierung und die Grundlagen

Mehr

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Programmieren in C Teil 3: Mikrocontrollerprogrammierung Programmieren in C Teil 3: Mikrocontrollerprogrammierung 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Tag 1 Hello World 08/30/10 Fachbereich Physik Institut für Kernphysik

Mehr

i2c-bus.de I2C-001 KURZBESCHREIBUNG I 2 C Modul mit PCF8574 8-Bit I/O Port-Expander Dokument NR.: I2C-001-D-01

i2c-bus.de I2C-001 KURZBESCHREIBUNG I 2 C Modul mit PCF8574 8-Bit I/O Port-Expander Dokument NR.: I2C-001-D-01 DA CL Dokument NR.: I2C-001-D-01 I2C-001 KURZBECHREIBUNG I 2 C Modul mit PCF8574 8-Bit I/O Port-Expander P Bitte denken ie an die Umwelt, bevor ie diese Datei ausdrucken DA CL Inhaltsverzeichnis 1. Modul

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt

Mehr

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln version: 0.1 Author: Anja Beuth Table of contents 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6 State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6 Abstract: Im sechsten Teil der Workflow Serie verbinden wir die Formulare aus dem vorigen Teil mit unserem Workflow. Teil 6: InfoPath

Mehr

Einführung in die Programmiersprache C und in den C166-Compiler

Einführung in die Programmiersprache C und in den C166-Compiler Einführung in die Programmiersprache C und in den C166-Compiler Die vorliegenden Unterlagen sollen einen kurzen Überblick über die Software-Entwicklung in C geben. Diese Unterlagen erheben keinen Anspruch

Mehr

HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0

HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0 HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0 INHALT 1. VORAUSSETZUNGEN... 3 2. BESCHREIBUNG... 3 3. BANNER... 3 4. PANELS... 4 5. FALLBACK... 4 4. ANLEGEN DES HTML5 HOCKEYSTICK ADS... 4 2 1. VORAUSSETZUNGEN

Mehr

I2C-Echtzeituhr am Atmel AVR

I2C-Echtzeituhr am Atmel AVR Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Mikrocontroller und DSP (EMD) Prof.Dr.-Ing. E. Coersmeier I2C-Echtzeituhr am Atmel AVR Name, Vorname

Mehr

EVBRX63N_LAN Ethernet Adapter für EVBRX63N-Light USER MANUAL

EVBRX63N_LAN Ethernet Adapter für EVBRX63N-Light USER MANUAL EVBRX63N_LAN Ethernet Adapter für EVBRX63N-Light USER MANUAL 2013 by Glyn GmbH & Co KG, Mikrocontroller Group History 01.02.2013 MRE V1.0 Started Support contact address: boardsupport@glyn.de Inhaltsverzeichnis

Mehr

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de Innovator 11 classix Java Reverse Engineering Ralph Schönleber HowTo www.mid.de Mit Innovator Java Reverse Engineering durchführen Inhaltsverzeichnis Voraussetzungen... 2 Java Reverse Engineering... 2

Mehr

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet.

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet. U4 4. Übung U4 4. Übung Besprechung Aufgabe 2 Makros Register I/O-Ports U4.1 U4-1 Makros U4-1 Makros Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Tag 3 Timer, ADC und PWM

Tag 3 Timer, ADC und PWM Tag 3 Timer, ADC und PWM 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Analog-Digital-Wandler Arbeitet durch schrittweise Näherung Aktivieren des ADCs durch ADC Enable

Mehr

Java Programmierung auf der Konsole / unter Eclipse

Java Programmierung auf der Konsole / unter Eclipse Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04) 10. Klassen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Objektorientierte Programmierung!Das Konzept der Klassen!Members!Objekte!Konstruktoren und Destruktoren!this-Pointer!Public und Private

Mehr

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg Connecting Android Externe Hardware mit dem grünen Roboter verbinden Alexander Dahmen Dominik Helleberg Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+

Mehr

Erstellen eines PlugIns

Erstellen eines PlugIns Erstellen eines PlugIns Mai 2013 Inhaltsverzeichnis Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Einleitung... 3 1.1 Ablauf... 3 1.2 Weitere Dokumentation... 3 1.3 Wichtige Hinweise... 3 2 Beschreibung...

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 NetX - Einführung 2008 Jiri Spale, Programmierung in eingebetteten Systemen 2 NetX is... a highly integrated network controller with a new system

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Das Modul kann thermische oder 3-stufige Aktoren regeln, wie auch vier 0-10 VDC analoge Ausgänge.

Das Modul kann thermische oder 3-stufige Aktoren regeln, wie auch vier 0-10 VDC analoge Ausgänge. Das ist ein I/O Modul für Modbus, das vier Ni1000-LG Eingänge oder vier Digitaleingänge lesen kann. Jeder individuelle Eingang kann so eingestellt werden, das er als analoger oder digitaler Eingang arbeitet.

Mehr

Stopp-Uhr. Erstellen Sie ein Programm (in Zweier- bzw. Dreier-Gruppen), welches folgende Bedingungen erfüllt:

Stopp-Uhr. Erstellen Sie ein Programm (in Zweier- bzw. Dreier-Gruppen), welches folgende Bedingungen erfüllt: Inhalt Aufgabenstellung... 1 Lösung... 2 System (Kontextdiagramm)... 2 Zustands-Übergangs-Diagramm... 2 Codeierung... 4 Main-Module... 4 Module-Button... 6 Module Timer... 8 Anhang... 12 Datenflussdiagramm...

Mehr

ID VisitControl. Dokumentation Administration. 2015 Equitania Software GmbH cmc Gruppe Seite 1

ID VisitControl. Dokumentation Administration. 2015 Equitania Software GmbH cmc Gruppe Seite 1 ID VisitControl Dokumentation Administration 2015 Equitania Software GmbH cmc Gruppe Seite 1 Inhalt 1. Anmeldung... 3 2. Benutzer anlegen oder bearbeiten... 4 2.1. Benutzer aus LDAP Anbindung importieren/updaten...

Mehr

microkontrol/kontrol49 System Firmware Update

microkontrol/kontrol49 System Firmware Update microkontrol/kontrol49 System Firmware Update Update Anleitung (für Windows) Dieses Update ist lediglich mit Windows XP kompatibel, versuchen Sie dieses nicht mit Windows 98/ME und 2000 auszuführen. 1.

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform 0. Benötigt werden folgende Softwarepakete:.NET Framework Software Development Kit (http://www.microsoft.com/downloads/details.aspx?familyid=4fe5bdb5-c7a7-4505-9927-2213868a325b&displaylang=en)

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Workshop: ASURO-Programmieren in C

Workshop: ASURO-Programmieren in C Workshop: ASURO-Programmieren in C / Teil 1: Theorie Workshop: ASURO-Programmieren in C Teil 1: Theorie Markus Becker http://mbecker-tech.de Bürgernetz Ingolstadt e. V. / ByteWerk Stand: 1. Mai 2010 Copyright:

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr