Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

Ähnliche Dokumente
µversion 2 Einführung

PIC16 Programmierung in HITECH-C

4 Formelsammlung C/C++

Herzlich willkommen!

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Lösung 8051er. Bussysteme IIC - Bus. Klasse:... Datum:...

Rechnerarchitektur, Einführung in die Laborübungen

Viel Erfolg bei der Bearbeitung der Aufgaben!

RO-Tutorien 17 und 18

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Rechnerarchitektur, Einführung in die Laborübungen

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

Grundlagen der OO- Programmierung in C#

Das Studium an der Abteilung Informatik setzt Programmierkenntnisse voraus.

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Grundlagen der Programmierung

Zum Aufwärmen nocheinmal grundlegende Tatsachen zum Rechnen mit reelen Zahlen auf dem Computer. Das Rechnen mit Gleitkommazahlen wird durch den IEEE

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

Datentypen in C. Informatik Universität Hamburg Proseminar: C-Grundlagen und Konzepte Jan Branitzki

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

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

Elementare Datentypen in C++

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue

MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr SS INSTITUT FÜR ELEKTRONIK BIT

Übung zur Vorlesung EidP (WS 2018/19) Blatt 4

Repetitorium Programmieren I + II

Einführung in die C-Programmierung

Programmieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff

RO-Tutorien 15 und 16

Arduino für FunkAmateure

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Hello World! Eine Einführung in das Programmieren Variablen

JAVA-Datentypen und deren Wertebereich

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

6. Grundlagen der Programmierung

RO-Tutorien 3 / 6 / 12

Erste Schritte der Programmierung in C

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Kurze Einführung in die Programmiersprache C++ und in Root

4.2 Programmiersprache C

1. Keil starten. Sollten Sie keinen leeren Bildschirm haben, löschen Sie einfach die

2. Programmierung in C

Beispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio)

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten

2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...

Java Anweisungen und Ablaufsteuerung

Kompilieren Datentypen Operatoren. Überblick. 1 Kompilieren. 2 Datentypen. const static volatile. 3 Operatoren. Alexander Batoulis

Datentypen mit fester Größe. Bitoperatoren. Funktionen. Nachtrag Compiler. Aufgabe 2. SPiC - Ü U2.1

Kurzeinführung in C99

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Code Composer Studio 4.x

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

8. Referenzen und Zeiger

U4 Grundlagen der C-Programmierung

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Programmiervorkurs Einführung in Java Tag 1

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

U5-2 Register beim AVR-µC

1. Xcode und dein erstes Projekt 23

Praktikum DST (MRT Teil) 1. Termin

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Informatik I - Übung 2 Programmieren in Eclipse

C++ mit dem Arduino (Uno und Mega2560)

Einführung in die Programmiersprache C

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Vorkurs Informatik WiSe 16/17

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm

Funktionales C++ zum Ersten

Einführung in die Programmiersprache C

2 Eine einfache Programmiersprache

3 Grundstrukturen eines C++ Programms anhand eines Beispiels

Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen.

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

Informatik für Elektrotechnik und Informationstechnik

Musterlösung: 12. Jgst. 2. Kursarbeit Datum: Fach: Informationsverarbeitung (LK)

Globale Variablen Diverses. Globale Variablen. Globale Variablen

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Angewandte Mathematik und Programmierung

Informatik I Programmieren in C

Einführung in C. EDV1-04C-Einführung 1

2. Programmierung in C

Bit Operationen. InE1 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert

2. Programmierung in C

Transkript:

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

Die wichtigsten Unterlagen/Tools Für das Praktikum Unterlagen/Kenntnisse/Tools wichtig: Datenblatt des AT80USB1287 µc Schaltplan des im Praktikum verwendeten Evaluation-Boards Entwicklungsumgebung AVR Studio Flip Programmiertool Grundkenntnisse in der Programmiersprache C

Praktikums Inhalte Die Inhalte des Praktikums dienen zur Vertiefung des in der Vorlesung durchgenommenen Stoffes. Es sollen die Grundeinheiten des µc kennengelernt werden: Ports Timer Interrupts Schnittstellen... Ziel des Praktikums: lauffähiges Programm zur Messung und Anzeige der Temperatur

AVR Studio Das wichtigste Softwaretool für das Praktikum ist das AVR Studio. Es übernimmt gleich mehrere Aufgaben: Entwicklungsumgebung zum Erstellen, Verwalten und Kompilieren des Programmcodes Kommunikation zum Laden des Programms in den Prozessor Übersicht über alle Mikrocontrollerkomponenten, Register- und Speicherinhalte Zur Simulation des Programms steht ein Simulator zur Verfügung

Anlegen eines neuen Projekts Nach dem Start des AVR Studios wird der Benutzer aufgefordert Projekttyp, Projektname und Speicherort anzugeben. Im Praktikum wird im Feld Project type die Einstellung AVR GCC verwendet. Beim Projektnamen die entsprechende Gruppenbezeichnung eingeben

Die Entwicklungsumgebung Im Hauptfenster des AVR Studio gibt es eine Kontrollleiste am oberen Rand und fünf Unterfenster darunter. Projektnamen Dateien Texteditor zum Editieren des Quellcodes Funktions einheiten des µc Build Prozess, Fehler beim compilieren, etc. Einzelheiten der ausgew. Funktionseinheit

Kompilieren eines Projektes Im Menu Punkt Build den Menupunkt Build oder Rebuild auswählen

Debugging Um den Debugger zu starten im Menu Debug Start Debugging auswählen oder in der obersten Menuleiste den Pfeil drücken.

Debugging Mit den einzelnen Debug Möglichkeiten kann das Programm z.b. durchgesteppt werden

Hauptprogramm (main): Das Hauptprogramm: main() stellt den Kern jedes C-Programms dar. Das Hauptprogramm beginnt mit der Initialisierung und setzt dann mit dem abzuarbeitenden Programm fort. Beispiel: int main(void) { /* Initialisierung der Register */ DDRE = 0x08; /* DatenDirectionRegister Port E auf 1 setzen (Output) */ PORTE = 0x04; /* Setzen von Bit 3 in Register PORTE */ // Rest des Hauptprogramms while(1); // als Beispiel eine Endlosschleife }

(1)Funktionen (Functions) Tätigkeiten, die an mehreren Stellen im Programm abgearbeitet werden sollten, sind als so genannte Funktionen Functions zusammengefasst. Die Definition für eine Funktion muss sich vor dem Aufruf befinden. Befindet sich die Funktion in einem anderen Modul, muss sie als Prototyp (1. Zeile der Funktionsdefinition) deklariert werden. Struktur einer Function: Rückgabetyp Function-Name ( Übergabevariablen mit Typendeklaration) { Definition lokaler Function-Variablen Realisierung der Function-Tätigkeit eventuelle Wertrückgabe } Function-Name: beliebig

(2)Funktionen (Functions) Übergabevariablen: Liste von Werten, die an die Function übergeben werden sollen. Die Übergabewerte werden an lokale Variablen übergeben, die in der Function definiert werden müssen. Die Function arbeitet nur mit lokalen Kopien der Übergabevariablen, d.h. nach Beendigung der Function sind diese Variablen im aufrufenden Programm unverändert. Will man eine Veränderung, so kann man an die Function einen Pointer auf die Variable übergeben oder einfach mit globalen Variablen arbeiten. Wertrückgaben: Jede Funktion kann durch den 'return(variable)'-befehl einen Wert zurückgeben. Beispiele von Functions und ihrem Aufruf: input=getkey(); /* function getkey() liefert einen Wert */ value=setled(led); /* An die function setled(led) wird ein Wert */ /* übergeben, und ein entsprechender Wert */ /* wird von der function zurückgeliefert */

Operatoren C kennt mehr Operatoren als Schlüsselwörter

Zuweisungen und Arithmetische Operatoren (Teil 1):

Zuweisungen und Arithmetische Operatoren (Teil 2):

Vergleichende und Logische Operatoren: Vergleichende Operatoren werden in if- Bedingungen, while-schleifen oder in for-schleifen zur Entscheidung für den weiteren Programmablauf bzw. zur Programmverzweigung genutzt. Mit den Operatoren logisch UND / ODER können mehrere Vergleichsausdrücke zu einen Ausdruck verknüpft werden:

Bitweise Operatoren (Teil 1): Diese Operatoren sind nur für die Datentypen char, int, short, long (signed oder unsigned) erlaubt. Mit ihnen ist eine direkte Manipulation einzelner Bits möglich. Je nach µc und Compiler werden diese Befehle auf entsprechende effiziente Maschinen-befehle abgebildet. Anwendungen finden diese hardwarenahe Bitsteuerung oft beim Zugriff auf spezielle µc- Peripherie Register

Bitweise Operatoren (Teil 2): >> 01010101 <<

Beispiele: /*setzen eines einzelnen Bits*/ PORTE = 0x04; /*löschen eines einzelnen Bits/ PORTE &= ~0x04; /* Die Direktive #define ersetzt jedes weitere Vorkommen von Bezeichnern im Quelltext durch die als Ersatzliste angegebene Zeichenfolge */ #define LED0 0x01;... PORTE = LED0; // LED0 wird ersetzt durch 0x01

Links: Einführungskurs C: http://www.peacesoftware.de/ckurs.html Sehr guter Einführungskurs in C mit kleinen Testaufgaben AVR-GCC-Tutorial: http://www.mikrocontroller.net/articles/avr-gcc-tutorial