Übungen zu Systemnahe Programmierung in C (SPiC)

Größe: px
Ab Seite anzeigen:

Download "Übungen zu Systemnahe Programmierung in C (SPiC)"

Transkript

1 Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 4 Sommersemester 2016

2 Inhalt Module Schnittstellenbeschreibung Ablauf vom Quellcode zum laufenden Programm Initialisierung eines Moduls Ein- & Ausgabe über Pins Active-high & Active-low Konfiguration der Pins Aufgabe 4: LED-Modul Hinweise Testen des Moduls Hands-on: Module, Felder & Zeiger Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 2 17

3 Inhalt Module Schnittstellenbeschreibung Ablauf vom Quellcode zum laufenden Programm Initialisierung eines Moduls Ein- & Ausgabe über Pins Aufgabe 4: LED-Modul Hands-on: Module, Felder & Zeiger Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 2 17

4 Schnittstellenbeschreibung Erstellen einer.h-datei (Konvention: gleicher Name wie.c-datei) 1 #ifndef LED_H 2 #define LED_H 3 /* fixed-width Datentypen einbinden (im Header verwendet) */ 4 #include <stdint.h> 5 /* LED-Typ */ 6 typedef enum { RED0=0, YELLOW0=1, GREEN0=2,... } LED; 7 /* Funktion zum Aktivieren einer bestimmten LED */ 8 uint8_t sb_led_on(led led); #endif Mehrfachinkludierung (evtl. Zyklen!) vermeiden Include-Guard durch Definition und Abfrage eines Präprozessormakros Konvention: das Makro hat den Namen der.h-datei,. ersetzt durch _ Der Inhalt wird nur eingebunden, wenn das Makro noch nicht definiert ist Vorsicht: flacher Namensraum Wahl möglichst eindeutiger Namen Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 3 17

5 Ablauf vom Quellcode zum laufenden Programm test.c gcc test.o ld aufgabe4.elf 7seg.c gcc 7seg.o libspicboard 7seg.h adc.h timer.h libspicboard.a 7seg.o adc.o led.o button.o timer.o 1. Präprozessor 2. Compiler 3. Linker 4. Programmer/Flasher Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 4 17

6 Initialisierung eines Moduls Module müssen Initialisierung durchführen (z.b. Portkonfiguration) z.b. in Java mit Klassenkonstruktoren möglich C kennt kein solches Konzept Workaround: Modul muss bei erstem Aufruf einer seiner Funktionen ggf. die Initialisierung durchführen muss sich merken, ob die Initialisierung schon erfolgt ist Mehrfachinitialisierung vermeiden 1 static uint8_t initdone = 0; 2 // alternativ: lokale static Variable in init() 3 4 static void init(void) {... } 5 void mod_func(void) { 6 if(initdone == 0) { 7 initdone = 1; 8 init(); 9 } Initialisierung darf nicht mit anderen Modulen in Konflikt stehen! Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 5 17

7 Inhalt Module Ein- & Ausgabe über Pins Active-high & Active-low Konfiguration der Pins Aufgabe 4: LED-Modul Hands-on: Module, Felder & Zeiger Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 5 17

8 Ausgang: active-high & active-low Ausgang je nach Beschaltung: active-high: high-pegel (logisch 1; V cc am Pin) LED leuchtet active-low: low-pegel (logisch 0; GND am Pin) LED leuchtet Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 6 17

9 Eingang: active-high & active-low Eingang je nach Beschaltung: active-high: Button gedrückt high-pegel (logisch 1; V cc am Pin) active-low: Button gedrückt low-pegel (logisch 0; GND am Pin) interner pull-up-widerstand (im ATmega32) konfigurierbar Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 7 17

10 !513-())*+6!513-())*+6!5-31())*+7!5-31())*+7!3#$())*+8!3#$())*+8 9:3:& 9:3:& *04))!0=#4( *04))!0=#4( *06))!0=#6( *06))!0=#6( *07))!0=#7( *07))!0=#7( *08))!0=#8( *08))!0=#8( Konfiguration der Pins *+4))!33( *+2))!0-.,%1#'( *+/))!0-.'%-.&/( *+,))!&,( *+4))!33( *+'))!"#$%&'( *+2))!0-.,%1#'( <.= *+/))!0-.'%-.&/( ;## *+,))!&,( *0'))!0=#'( *+'))!"#$%&'( *0,))!0=#,( <.= *0/))!0=#/( ;## *02))!0=#2( *0'))!0=#'( *0,))!0=#,( *0/))!0=#/( *02))!0=#2( TQFP/MLF TQFP/MLF!"#$%&'())*+'!"#$%&'())*+'!&,())*+,!&,())*+,!-.&/%0-.'())*+/!-.&/%0-.'())*+/!1#'%0-.,())*+2!1#'%0-.,())*+2!33())*+4!33())*+4!513-())*+6!513-())*+6!5-31())*+7!5-31())*+7!3#$())*+8!3#$())*+8 9:3:& 9:3:& ;## ;## <.= <.= "&0>/ "&0>/ "&0>, "&0>,!9"=())*='!9"=())*='!&"=())*=,!&"=())*=,!-.&'())*=/!-.&'())*=/!-.&,())*=2!-.&,())*=2!1#,+())*=4!1#,+())*=4!1#,0())*=6!1#,0())*=6!-#*,())*=7!-#*,())*=7 *#8) *#7) *#6) *#4) *#2) *#/) *#,) *#') *=8) ATmega32A!0=#'!0=#,!0=#/!0=#2!0=#4!0=#6!0=#7!0=#8? 09:? *0'))!0=#'( *0'))!0=#'( *0,))!0=#,( *0,))!0=#,( *0/))!0=#/( *0/))!0=#/( *02))!0=#2( *02))!0=#2( *04))!0=#4( *04))!0=#4( *06))!0=#6( *06))!0=#6( *07))!0=#7( *07))!0=#7( *08))!0=#8( *08))!0=#8( 09:? 09:? <.= <.= 0;## 0;## *#8))!&13#/( *#8))!&13#/( *#7))!&13#,( *#7))!&13#,( *#6))!&=-( *#6))!&=-( *#4))!&=1( *#4))!&=1( *#2))!&53( *#2))!&53( *#/))!&#$( *#/))!&#$( *#,))!3=0( *#,))!3=0( *#'))!3#>( *#'))!3#>( *=8))!1#/( *=8))!1#/( Jeder I/O-Port des AVR-µC wird durch drei 8-bit Register gesteuert: Datenrichtungsregister (DDRx = data direction register) Datenregister (PORTx = port output register) Port Eingabe Register (PINx = port input register, nur-lesbar) Jedem Anschluss-Pin ist ein Bit in jedem der 3 Register zugeordnet PDIP PDIP t Pinout ATmega32A ATmega32A Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 8 17

11 I/O-Port-Register DDRx: hier konfiguriert man Pin i von Port x als Ein- oder Ausgang Bit i = 1 Pin i als Ausgang verwenden Bit i = 0 Pin i als Eingang verwenden PORTx: Auswirkung abhängig von DDRx: ist Pin i als Ausgang konfiguriert, so steuert Bit i im PORTx Register ob am Pin i ein high- oder ein low-pegel erzeugt werden soll Bit i = 1 high-pegel an Pin i Bit i = 0 low-pegel an Pin i ist Pin i als Eingang konfiguriert, so kann man einen internen pull-up-widerstand aktivieren Bit i = 1 pull-up-widerstand an Pin i (Pegel wird auf high gezogen) Bit i = 0 Pin i als tri-state konfiguriert PINx: Bit i gibt aktuellen Wert des Pin i von Port x an (nur lesbar) Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 9 17

12 Beispiel: Initialisierung eines Ports Pin 3 von Port B (PB3) als Ausgang konfigurieren und PB3 auf Vcc schalten: 1 DDRB = (1 << PB3); /* =0x08; PB3 als Ausgang nutzen... */ 2 PORTB = (1 << PB3); /*...und auf 1 (=high) setzen */ Pin 2 von Port D (PD2) als Eingang nutzen, pull-up-widerstand aktivieren und prüfen ob ein low-pegel anliegt: 1 DDRD &= ~(1 << PD2); /* PD2 als Eingang nutzen... */ 2 PORTD = (1 << PD2); /* pull-up-widerstand aktivieren */ 3 if ( (PIND & (1 << PD2)) == 0) { /* den Zustand auslesen */ 4 /* ein low Pegel liegt an, der Taster ist gedrückt */ 5 } Die Initialisierung der Hardware wird in der Regel einmalig zum Programmstart durchgeführt Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 10 17

13 Inhalt Module Ein- & Ausgabe über Pins Aufgabe 4: LED-Modul Hinweise Testen des Moduls Hands-on: Module, Felder & Zeiger Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 10 17

14 LED-Modul Übersicht LED 0 (PD7) Port D, Pin 7 Bit 7 in PORTD und DDRD LED 1 (PC0) Port C, Pin 0 Bit 0 in PORTC und DDRC... Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 11 17

15 LED-Modul Aufgabe LED-Modul der SPiCboard-Bibliothek selbst implementieren Gleiches Verhalten wie das Original Beschreibung: Testen des Moduls Eigenes Modul mit einem Testprogramm (test.c) linken Andere Teile der Bibliothek können für den Test benutzt werden LEDs des SPiCboards Anschlüsse und Namen der einzelnen LEDs können dem Übersichtsbildchen entnommen werden Alle LEDs sind active-low, d.h. leuchten wenn ein low-pegel auf dem Pin angelegt wird PD7 = Port D, Pin 7 Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 12 17

16 Exkurs: const uint8_t* vs. uint8_t* const const uint8_t* ein Pointer auf einen uint8_t-wert, der konstant ist Wert nicht über den Pointer veränderbar uint8_t* const ein konstanter Pointer auf einen (beliebigen) uint8_t-wert Pointer darf nicht mehr auf eine andere Speicheradresse zeigen Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 13 17

17 Port- und Pin-Array Port und Pin Definitionen (in avr/io.h) 1 #define PORTD (* (volatile uint8_t*)0x2b) #define PD Adressoperator: & Dereferenzierungsoperator: Port Array: 1 static volatile uint8_t * const ports[] = { &PORTD, 2 &PORTC, 3... }; Pin Array: 1 static uint8_t const pins[] = { PD7, PC0,... }; Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 14 17

18 AVR-Studio Projekteinstellungen Projekt wie gehabt anlegen Initiale Quelldatei: test.c Dann weitere Quelldatei led.c hinzufügen Wenn nun übersetzt wird, werden die Funktionen aus dem eigenen LED-Modul verwendet Andere Teile der Bibliothek werden nach Bedarf hinzugebunden Temporäres deaktivieren zum Test der Originalfunktiononen: 1 #if #endif Sieht der Compiler diese Kommentare? Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 15 17

19 Testen des Moduls 1 void main(void){ // 1.) Testen bei korrekter LED-ID 4 int8_t result = sb_led_on(red0); 5 if(result!= 0){ 6 // Test fehlgeschlagen 7 // Ausgabe z.b. auf 7-Segment-Anzeige 8 } 9 10 // 2.) Testen bei ungueltiger LED-ID } Schnittstellenbeschreibung genau beachten (inkl. Rückgabewerte) Testen aller möglichen Rückgabewerte Fehler wenn Rückgabewert nicht der Spezifikation entspricht Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 16 17

20 Inhalt Module Ein- & Ausgabe über Pins Aufgabe 4: LED-Modul Hands-on: Module, Felder & Zeiger Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 16 17

21 Hands-on: Module, Felder & Zeiger Statistikmodul und Testprogramm Funktionalität des Moduls: Mittelwertbildung uint8_t avgarray(uint16_t *a, size_t s, uint16_t *avg); Minimal- und Maximalwertermittlung uint8_t minarray(uint16_t *a, size_t s, uint16_t *min); uint8_t maxarray(uint16_t *a, size_t s, uint16_t *max); Rückgabewert: 0: OK; 1: Fehler Interne Hilfsfunktionen: uint16_t getmin(uint16_t a, uint16_t b); uint16_t getmax(uint16_t a, uint16_t b); Vorgehen: Header-Datei mit Modulschnittstelle (und Include-Guards) Implementierung des Moduls (Sichtbarkeit beachten) Testen des Moduls im Hauptprogramm (inkl. Fehlerfälle) Lehrstuhl Informatik 4 Übungen zu SPiC (SS 2016) 17 17

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

Wer möchte, kann sein Programm auch auf echter Hardware testen

Wer möchte, kann sein Programm auch auf echter Hardware testen U4 3. Übungsaufgabe U4 3. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-μC Register I/O-Ports AVR-Umgebung Peripherie U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit

Mehr

Parallel-IO. Ports am ATmega128

Parallel-IO. Ports am ATmega128 Parallel-IO Ansteuerung Miniprojekt Lauflicht Ports am ATmega128 PortE (PE7...PE0) alternativ, z.b. USART0 (RS232) 1 Pin von PortC Port C (PC7...PC0) 1 Parallel-IO-Port "Sammelsurium" verschiedener Speicher

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

Einführung in die Programmierung von Mikrocontrollern mit C/C++

Einführung in die Programmierung von Mikrocontrollern mit C/C++ Einführung in die Programmierung von Mikrocontrollern mit C/C++ Vorlesung Prof. Dr.-Ing. habil. G.-P. Ostermeyer Rechenleistung/Speicher Systemintegration Grundlagen der Mikrocontrollertechnik (Wiederholung)

Mehr

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Interrupts. Inhalt. Interrupts. Synchronisation

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Interrupts. Inhalt. Interrupts. Synchronisation Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 5 Inhalt Synchronisation Stromsparmodi Aufgabe 5: Ampel Hands-on: & Sleep Sommersemester

Mehr

Zahlendarstellung Logikfunktionen Register Eingänge Infrarot senden TSOP-Effekte Weiterführendes U23 2008. Abend 3:

Zahlendarstellung Logikfunktionen Register Eingänge Infrarot senden TSOP-Effekte Weiterführendes U23 2008. Abend 3: #2 Abend 3: Alexander Neumann e.v. http://koeln.ccc.de Köln, 3.11.2008 Gliederung 1 Zahlendarstellung n-adische Darstellung natürlicher Zahlen negative Zahlen 2 Logikfunktionen 3 Register

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

Produktinformationen. Basis Set Atmel Atmega8 & ISP Programmer. Lieferumfang :

Produktinformationen. Basis Set Atmel Atmega8 & ISP Programmer. Lieferumfang : Produktinformationen Basis Set Atmel Atmega8 & ISP Programmer Lieferumfang : 1 Steckboard 840 Pin 1 USB ISP Programmer mit Kabel 1 Kabelsatz 32-teilig 1 Atmega8L 5 LED 3mm Klar Rot/Gelb/Grün/Blau/Weiss

Mehr

Mikrocontroller - Schnelleinstieg

Mikrocontroller - Schnelleinstieg Mikrocontroller - Schnelleinstieg Am Beispiel des Atmel Mega8 Philipp Fabian Benedikt Maier Mikrocontroller Schnelleinstieg Seite 1 Mikrocontroller - Schnelleinstieg: - Was ist ein Mikrokontroller? - Welche

Mehr

RN-Control ARDUINO Bibliothek ATMEL 32 Version 0.2

RN-Control ARDUINO Bibliothek ATMEL 32 Version 0.2 RN-Control ARDUINO Bibliothek ATMEL 32 Version 0.2 Bernd Klein 23. Mai 2011 Inhaltsverzeichnis 1 ARDUINO - RN-Control Library 3 1.1 Bibliothek RNControl...................... 3 1.2 Einführung............................

Mehr

Einführung in AVR-Assembler

Einführung in AVR-Assembler Einführung in AVR-Assembler Easterhack 2008 Chaos Computer Club Cologne Stefan Schürmans, BlinkenArea stefan@blinkenarea.org Version 1.0.4 Easterhack 2008 Einführung in AVR-Assembler 1 Inhalt Vorstellung

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

Dokumentation Metronom

Dokumentation Metronom Beuth Hochschule für Technik Berlin Fachbereich VII Elektrotechnik Mechatronik Optometrie Studiengang Bachelor Elektrotechnik Dokumentation Metronom Projekt im Labor Mikrocomputertechnik Teilnehmer: Benjamin

Mehr

Projektarbeit: Roulette Spiel

Projektarbeit: Roulette Spiel Projektarbeit: Roulette Spiel auf dem Atmega162 Im Fach Datenverarbeitungstechnik 1. Aufgabestellung Die Aufgabe verlangte es ein Reaktionsspiel auf einem Olimex AVR USB 162 zu entwerfen. Auf dem Entwicklerboard

Mehr

Addieren und Subtrahieren mit Mikrocontroller Atmega AT90162USB

Addieren und Subtrahieren mit Mikrocontroller Atmega AT90162USB Addieren und Subtrahieren mit Mikrocontroller Atmega AT90162USB Projekt: Markus Sellner Hardware: AT90USB162 auf Entwicklerplatine AVR-USB-162 von Olimex erweitert um zwei 7-Segment-Anzeigen Aufgabe: Mit

Mehr

Praxisorientierte Einführung in C++ Lektion: "Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm)"

Praxisorientierte Einführung in C++ Lektion: Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm) Praxisorientierte Einführung in C++ Lektion: "Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm)" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte

Mehr

Installation & Verwendung. Version 1.0. WinAVR

Installation & Verwendung. Version 1.0. WinAVR Installation & Verwendung Version 1.0 WinAVR Allgemeines Der estick ist ein USB basiertes Entwicklungs-Board für Atmel AT90USB162 Mikrocontroller. Einfache, anschauliche Anwendungen und Beispiele basierend

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

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

Programmierung Nibo 2 Teil 3 Display. * by nicaisystems

Programmierung Nibo 2 Teil 3 Display. * by nicaisystems by HJS Programmierung Nibo 2 Teil 3 Display * by nicaisystems Nibo 2 Programmierung Teil 3 Display Notwendige Programme: AVR Studio 4 ( mit den aktuellen Versionen und Updates ) WinAVR ( in der aktuellen

Mehr

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

Assembler in der Arduino-IDE: ein Einblick

Assembler in der Arduino-IDE: ein Einblick Skript Assembler in der Arduino-IDE: ein Einblick C-Code Die Arduino-IDE baut auf dem GNU-Assembler auf. Daher ist es möglich, mit der avr-gcc den µc über die ISP-Schnittstelle in Assembler programmieren.

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

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

Installation & Verwendung. Version 1.0. WinAVR & AVR Studio 4

Installation & Verwendung. Version 1.0. WinAVR & AVR Studio 4 Installation & Verwendung Version 1.0 WinAVR & AVR Studio 4 Allgemeines Der estick ist ein USB basiertes Entwicklungs-Board für Atmel AT90USB162 Mikrocontroller. Einfache, anschauliche Anwendungen und

Mehr

Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 1. Wintersemester 2015/2016

Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 1. Wintersemester 2015/2016 Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 1 Wintersemester 2015/2016 Inhalt Organisatorisches Entwicklungsumgebung Anleitung Aufgabe

Mehr

AVR-Mikrocontrollertechnik

AVR-Mikrocontrollertechnik 1/31 Ziele der Weiterbildung Vermitteln von Grundlagen zu den AVR Controllern Vermitteln von Assembler Grundlagen Vorstellen der benötigten Hard und Software Eigenständiges Programmieren der Controller

Mehr

Modulare Programmierung und Bibliotheken

Modulare Programmierung und Bibliotheken Modulare Programmierung und Bibliotheken Proseminar-Vortrag am 24.06.2011 von Ludwig Eisenblätter Ludwig Eisenblätter 1 von 25 Modulare Programmierung und Bibliotheken Inhaltsübersicht Motivation / Einleitung

Mehr

ARDUINO Übung. Inhalt:

ARDUINO Übung. Inhalt: ARDUINO Übung Diese Übung ermöglicht einen kurzen Einblick in die Welt der Mikrokontrollerprogrammierung. Es sollen im Folgenden die Anleitungen befolgt werden und die entsprechenden elektrotechnischen

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

Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2013

Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2013 Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2013 Inhalt Organisatorisches Tafelübungen Reine Rechnerübungen Bonuspunkte Bei Problemen

Mehr

AVR Web Server. Version 1.1. erstellt von. Ulrich Radig

AVR Web Server. Version 1.1. erstellt von. Ulrich Radig AVR Web Server Version 1.1 erstellt von Ulrich Radig 1 Vorwort: Der von mir aufgebaute AVR Webserver dient zum Steuern Messen und Regeln von diversen Gerätschaften genannt seien Garagentor, Lampen, Heizung

Mehr

AVR-GCC-Tutorial. www.mikrocontroller.net

AVR-GCC-Tutorial. www.mikrocontroller.net www.mikrocontroller.net AVR-GCC-Tutorial Inhaltsverzeichnis [Verbergen] 1 Vorwort 2 Benötigte Werkzeuge 3 Was tun, wenn's nicht "klappt"? 4 Exkurs: makefiles 4.1 Controllertyp setzen 4.2 Quellcode-Dateien

Mehr

einfache PIC-Übungsprogramme

einfache PIC-Übungsprogramme einfache PIC-Übungsprogramme Schreibe in MPLAB für das PIC-Übungsboard 01 mit dem PIC16F88 folgendes Programm, assembliere und dokumentiere dieses, schreibe es anschließend mittels dem Programmiergerät

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

U23 2008 Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer

U23 2008 Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer Alexander Neumann e.v. http://koeln.ccc.de Köln, 1.9.2008 1 Musterlösungen Aufgabe 1 & 2 2 Taster entprellen

Mehr

Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform

Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform Einführung in das Programmieren in der Sekundarstufe 1 mit einem Arduino und der Physical-Computing-Plattform 1 Arduino mit Breadboard (Steckbrett) und LED mit Vorwiderstand Arduino-Board Uno R3 mit Mikrocontroller

Mehr

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1 Bibliothek AutoGUITest V1.0 Windows-Benutzeroberflächen automatisiert testen Tutorial Ausgabe: 6.6.02 06.06.02 / 13:51 Seite 1 Inhalt 1 Übersicht...3 2 Funktionsweise...3 3 Funktionsumfang...3 4 Einsatz

Mehr

AVR UART. ELV Modul: http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=28776&flv=1&berei ch=&marke=

AVR UART. ELV Modul: http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=28776&flv=1&berei ch=&marke= AVR UART 1. Einleitung In dieser Anleitung soll beispielhaft gezeigt werden, wie die serielle Kommunikation zwischen einem AVR Mikroprozessor und dem PC aufgebaut wird. Hierbei wird erst der einfache Fall

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

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme 2. Übung Constantin Timm Arbeitsgruppe Entwurfsautomatisierung für Eingebettete Systeme Lehrstuhl für Informatik 12 TU Dortmund constantin.timm@cs.tu-dortmund.de http://ls12-www.cs.tu-dortmund.de/staff/timm/

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

MB-Diplom (4. Sem.) / MB-Bachelor (Schwerpunkt Mechatronik, 5. Sem.) Seite 1 von 8. Wintersemester 2014/15 Elektronik

MB-Diplom (4. Sem.) / MB-Bachelor (Schwerpunkt Mechatronik, 5. Sem.) Seite 1 von 8. Wintersemester 2014/15 Elektronik MB-Diplom (4. Sem.) / MB-Bachelor (Schwerpunkt Mechatronik, 5. Sem.) Seite 1 von 8 Hochschule München Fakultät 03 Zugelassene Hilfsmittel: alle eigenen, Taschenrechner Matr.-Nr.: Hörsaal: Wintersemester

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

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

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

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

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

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

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

Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Prolog: Windows-Login. Organisatorisches: Tafelübungen

Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Prolog: Windows-Login. Organisatorisches: Tafelübungen Inhalt Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller () Sommersemester 2013 Organisatorisches Tafelübungen Reine Rechnerübungen Bonuspunkte Bei Problemen Hardware-Entwicklungsumgebung

Mehr

Programmieren des AVR Microcontrollers mit GCC, libc 1.0.4

Programmieren des AVR Microcontrollers mit GCC, libc 1.0.4 LinuxFocus article number 352 http://linuxfocus.org Programmieren des AVR Microcontrollers mit GCC, libc 1.0.4 Zusammenfassung: Der AVR 8 Bit RISC Microcontroller von Atmel ist ein sehr verbreiteter Microcontroller.

Mehr

Compiler und Präprozessor (1) Erstellen eines Projektes

Compiler und Präprozessor (1) Erstellen eines Projektes Compiler und Präprozessor (1) Erstellen eines Projektes Projekte bestehen meist aus mehreren Dateien, z.b. Quelldateien, Funktionssammlungen in Bibliotheken Zur Definition eines Projektes sind folgende

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

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere

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

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

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014 Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014 Aufgabe: Entwurf und Implementierung eines Weckers auf Basis des MSP430 Education Systems Beschreibung: Gegenstand des Praktikums ist der

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil IV: Programmieren an Beispielen Die

Mehr

Wintersemester 08/09. Anwendungen der Prozessdatenverarbeitung Inverses Pendel

Wintersemester 08/09. Anwendungen der Prozessdatenverarbeitung Inverses Pendel Fachhochschule Wiesbaden Fachbereich Design Informatik Medien Studiengang Allgemeine Informatik WS 08/09 Wintersemester 08/09 Anwendungen der Prozessdatenverarbeitung Inverses Pendel bei Prof. Dr. Karl-Otto

Mehr

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Rechnerübungen. Tafelübungen

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Rechnerübungen. Tafelübungen Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Moritz Strübe (Lehrstuhl Informatik 4) Inhalt Organisatorisches Tafelübungen Rechnerübungen Bonuspunkte Bei Problemen Entwicklungsumgebung

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Making the Internet of Things

Making the Internet of Things DARIUSH FOROUHER ITI Uni Lübeck DANIEL LOOS 3. Sem. MLS Making the Internet of Things EIN ÜBERBLICK ÜBER PHYSICAL COMPUTING PLATTFORMS Das Internet der Dinge Inhalt Übersicht Arduino Raspberry PI Andere

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Projekt Nr. 15: Einen elektronischen Würfel erstellen

Projekt Nr. 15: Einen elektronischen Würfel erstellen Nun wissen Sie, wie Sie Zufallszahlen erzeugen können. Als Nächstes wollen wir diese neuen Kenntnisse gleich in die Tat umsetzen, indem wir einen elektronischen Würfel konstruieren. Projekt Nr. 15: Einen

Mehr

1 Anmerkungen zur Entwicklung von GALs mit LOG/iC

1 Anmerkungen zur Entwicklung von GALs mit LOG/iC 1 Anmerkungen zur Entwicklung von GALs mit LOG/iC 1.1 Generic Array Logic (GAL) - Prinzip Ein GAL (Generic Array Logic) stellt ein (wieder)programmierbares UND- Array mit einem festen ODER Array dar. Zusätzlich

Mehr

Objektorientierung: Klassen und Objekte

Objektorientierung: Klassen und Objekte Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen

Mehr

AVR-GCC-Tutorial. Inhaltsverzeichnis. www.mikrocontroller.net. [Verbergen]

AVR-GCC-Tutorial. Inhaltsverzeichnis. www.mikrocontroller.net. [Verbergen] www.mikrocontroller.net AVR-GCC-Tutorial Inhaltsverzeichnis [Verbergen] 1 Vorwort 2 Benötigte Werkzeuge 3 Was tun, wenn's nicht "klappt"? 4 Erzeugen von Maschinencode 5 Einführungsbeispiel 6 Exkurs: Makefiles

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

ATM18-Projekt Arbeiten mit CodeVisionAVR C-Compiler Teil 02 - Aufbau eines C-Projektes

ATM18-Projekt Arbeiten mit CodeVisionAVR C-Compiler Teil 02 - Aufbau eines C-Projektes Teil 01 - Einführung 1 Eine Einführung in C 1.1 Warum C? 1.2 Wie entstand C? 1.3 Der AVR-Mikrocontroller in einem eingebetteten System 1.4 1.5 Editieren von Quell-Dateien 2 Was ist ein C-Projekt? 2.1 Erzeugen

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

Saia PG5 Starter Training Saia PG5 Core und Fupla. Daniel Ernst DE02 2013-02-25

Saia PG5 Starter Training Saia PG5 Core und Fupla. Daniel Ernst DE02 2013-02-25 Saia PG5 Starter Training Saia PG5 Core und Fupla Daniel Ernst DE02 2013-02-25 Einführung Das Licht im Keller soll eingeschaltet werden wenn ein Schalter gedrückt wird. Zusätzlich soll das Licht auch über

Mehr

TINA. Teach-In Applikationssoftware. LinMot. Tel: +41 1 445 2282 Fax; +41 1 445 2281 Email: office@linmot.com Internet: www.linmot.

TINA. Teach-In Applikationssoftware. LinMot. Tel: +41 1 445 2282 Fax; +41 1 445 2281 Email: office@linmot.com Internet: www.linmot. TINA Teach-In Applikationssoftware Technoparkstrasse 1 CH-8005 Zürich Tel: +41 1 445 2282 Fax; +41 1 445 2281 Email: office@linmot.com Internet: www.linmot.com Inhaltsverzeichnis 1. Systembeschreibung...

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme Grundkurs C++ Buildsysteme Buildsysteme Beispielhaftes Übersetzungsszenario: Verzeichnis tutorial7/ main.cpp, lcdrange.cpp, lcdrange.h *.cpp Kompilieren *.o *.h Grundkurs C++ 2 Headerdateien //blackbox.h

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

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme EMES: Eigenschaften mobiler und eingebetteter Systeme Prozessoren für mobile und 00101111010010011101001010101 eingebettete Systeme II: Die AVR-Architektur Dipl. Inf. Jan Richling Wintersemester 2004/2005

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

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

A n l e i t u n g. Beamer- Treiber- Download (FBI EB/ 19 )

A n l e i t u n g. Beamer- Treiber- Download (FBI EB/ 19 ) A n l e i t u n g Beamer- Treiber- Download (FBI EB/ 19 ) Kapitel 1: Vorbereitende Schritte......................................... Seite 1 bis 5 Kapitel 2: Auswechseln des Beamertreibers mittels........................

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

UNIVERSITÄT LEIPZIG. Studentenmitteilung 3./4. Semester - WS 2006/ SS 2007. Aufgaben zum Elektronik Grundlagenpraktikum. 4.

UNIVERSITÄT LEIPZIG. Studentenmitteilung 3./4. Semester - WS 2006/ SS 2007. Aufgaben zum Elektronik Grundlagenpraktikum. 4. UNIVERSITÄT LEIPZIG Institut für Informatik Studentenmitteilung 3./4. Semester - WS 2006/ SS 2007 Abt. Technische Informatik Gerätebeauftragter Dr. rer.nat. Hans-oachim Lieske Tel.: [49]-0341-97 32213

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

Karlsruher Institut für Technologie

Karlsruher Institut für Technologie Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt

Mehr

WinCC. WinCC in STEP 7 einbinden... 2

WinCC. WinCC in STEP 7 einbinden... 2 Systemkurs 1 in STEP 7 einbinden... 2 Übung 1: Projekt anlegen und AG Verbindung projektieren... 3 1. Projekteigenschaften festlegen... 4 2. Rechnereigenschaften... 5 3. Kommunikationstreiber für Verbindung

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben

Mehr

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

Rainer Müller, Moritz Strübe (Lehrstuhl Informatik 4) Sommersemester 2014

Rainer Müller, Moritz Strübe (Lehrstuhl Informatik 4) Sommersemester 2014 Übungen zu Grundlagen der Systemnahen Programmierung in C (GSPiC) Rainer Müller, Moritz Strübe (Lehrstuhl Informatik 4) Sommersemester 2014 Prolog: Windows-Login Zur Bearbeitung der Übungen ist ein Windows-Login

Mehr

Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm

Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm Beim Durchgehen des Programms will ich die verschiedenen Abschnitte zeigen, aus denen jedes ATmega-Assemblerprogramm besteht. Da

Mehr

C für Mikrocontroller

C für Mikrocontroller C für Mikrocontroller Die wichtigste Alternative zum Assembler-Programmieren von Anwendungen für Mikrocontroller ist die Programmierung in C. Die Entwicklungsumgebung steht als sog. Tool-Chain zur Verfügung.

Mehr

Bedienungsanleitung DP3 Report

Bedienungsanleitung DP3 Report Bedienungsanleitung DP3 Report 1. Voraussetzungen Messgerät ecom-dp3 PC mit Kartenlesegerät und Betriebssystem ab Win2000 SD-Karten oder MM-Karten von rbr Kartengröße min. 32 MB - max. 2 GB Karte auf 16

Mehr

Ein erstes Assembler-Projekt

Ein erstes Assembler-Projekt Das Attiny-Projekt Ein erstes Assembler-Projekt 1 Ein erstes Assembler-Projekt In diesem Kapitel wollen wir ein erstes einfaches Assembler-Programm für unsere Attiny-Platine schreiben. Worum soll es gehen?

Mehr

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.

Computergrafik 1 Übung, Wintersemester 2011. Eclipse Hands-On. C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10. Computergrafik 1 Übung, Wintersemester 2011 Eclipse Hands-On C++ Projektsetup mit OpenGL und GLUT unter Eclipse für Windows 22.10.12 1 Eclipse - Die IDE 1. Entwicklungsumgebung (IDE) herunterladen / installieren

Mehr