Der Timer 8254: Verwendung. Agenda: Zeitscheiben-Scheduling. Struktur des Nutzung des 8254 im PC
|
|
- Albert Kirchner
- vor 7 Jahren
- Abrufe
Transkript
1 Agenda: Zeitscheiben-Scheduling Der Timer 8254 Erzeugen von periodischen Interrupts Erzeugen von Tönen Zeitscheiben-basierter Scheduler für OOStuBS Michael Engel 1 Der Timer 8254: Verwendung PCs besitzen zwei Timer-Bausteine vom Typ 8253 oder 8254 Mittlerweile natürlich auch im Chipsatz integriert Diese werden mit einem Takt von 1,19318 MHz betrieben Unabhängig von der CPU-Frequenz! Warum so ein krummer Takt? 1,19318 MHz * 4 = 4,77 MHz...die Taktfrequenz des Ur-IBM-PC!...damals also doch nicht so unabhängig von der CPU-Frequenz Warum eine krumme Taktfrequenz wie 4,77 MHz für den Ur-PC? 4,77 MHz * 12 = 14,31816 MHz...das ist die Grundfrequenz, die für NTSC-Fernsehen benötigt wird...also gibt es fertige, billige Quarze...und man kann die Frequenz gleich zur Video-Erzeugung verwenden! PCs besitzen mittlerweile zwei dieser Timer-Bausteine Michael Engel <michael.engel@udo.edu> 2 Struktur des 8254 Nutzung des 8254 im PC Bezeichnung des 8254: PIT Programmable Interval Timer Jeder 8254 besitzt drei unabhängige Zähleinheiten Diese werden im PC unterschiedlich verwendet: Jeder Zähler besitzt einen eigenen Ausgang (OUTx) (aus dem intel-datenblatt zum 8254) Michael Engel <michael.engel@udo.edu> 3 Michael Engel <michael.engel@udo.edu> 4
2 Nutzung des 8254 im PC Struktur eines Zählers im 8254 Die verschiedenen Verwendungen der Kanäle ergeben sich durch die Verdrahtung der Ausgänge auf den PC- Mainboard: OUT0 führt an Int 0 des (1.) PIC 8259 OUT1 führt an Kanal 0 des DMA-Controllers 8237 OUT2 führt (über ein schaltbares Gatter) an einen Verstärker OUT0 des 2. PIT führt an den NMI-Eingang der CPU Über das NMI Mask Bit Im PC sind Non Maskable Interrupts doch maskierbar... Michael Engel <michael.engel@udo.edu> 5 (aus dem intel-datenblatt zum 8254) Michael Engel <michael.engel@udo.edu> 6 Programmierung des 8254 Jeder PIT kann mit Hilfe von vier Ports angesprochen werden: Programmierung des 8254 Zunächst muss dem 8254 über ein Steuerwort gesagt werden, was er als nächstes tun soll: Alle Ports sind 8 Bit breit! Um 16 Bit Zählerwerte in den PIT zu schreiben, muss eine besondere Vorgehensweise zum Einsatz kommen Michael Engel <michael.engel@udo.edu> 7 Michael Engel <michael.engel@udo.edu> 8
3 Programmierung des 8254 Spaß mit dem 8254 Der Modus bestimmt, wie der Zähler arbeitet und ob er mit Hilfe seiner OUTx-Leitung externe Ereignisse auslöst Im Modus 0 zählt der Zähler vom angegebenen Startwert bis 0 herunter Alle 838 ns Wenn der Zählerwert 0 ist, wird die OUTx-Leitung auf 1 gesetzt Zum Erzeugen periodischer Impulse eignet sich Modus 2 am besten Hier wird beim Erreichen des Wertes 0 ein kurzer Impuls auf OUTx erzeugt und der Zähler wird automatisch wieder mit dem ursprünglichen Startwert initialisiert Zur Einstellung eines 16 Bit Zählerwertes sind damit drei out-befehle notwendig Schreiben des Steuerwortes Das Intervall, mit dem ein Zähler im 8254 tickt, ist anhängig von der Basisfrequenz Der Zähler teilt diese Frequenz dann ganzzahlig Bei einem initialen Zählerwert von 1 für Counter 0 wird also eine Frequenz von 1,19318 MHz erzeugt Zählerwert 2: f = 0,59659 MHz usw. Initialwert für den Timer 0 im IBM PC: 0 Der PIT zählt erst herunter und vergleicht dann Also wird der Zähler 2^16-mal heruntergezählt Die Basisfrequenz wird also durch geteilt: 1,19318 MHz / 2^16 = 18,2 Hz Das ist die Standard Interrupt-Frequenz im PC Wir können also nicht beliebige Frequenzen generieren, aber immerhin eine ganze Menge... Schreiben des nieder- und höherwertigen Bytes des Zählerwerts Michael Engel <michael.engel@udo.edu> 10 Michael Engel <michael.engel@udo.edu> 9 10 Töne sind schwingende Luft...also muss irgendwo diese Schwingung angeregt werden...die Höhe des Tons ist abhängig von dessen Frequenz Also kann ein schwingender Schaltkreis mit Hilfe einer Lautsprecher-Membran Töne erzeugen Menschlicher Hörbereich: ca. 20 Hz 15 khz Zur Tonerzeugung muss also eine vibrierende, also wechselnde, Spannung erzeugt werden Die einfachste Form eines Tons ist die Sinusschwingung: Michael Engel <michael.engel@udo.edu> 11 Die Werte der Amplitude geben an, wie laut der Ton zu jedem Zeitpunkt ist Hier werden Signale diskret beschrieben Nicht durch eine Funktion f(x)=sin(x)......sondern durch Samples, also Wertnahmen zu bestimmten Zeitabschnitten Diese Samples reichen aus, um eine bestimmte Wellenform zu erzeugen Dieses Verfahren wird Pulse Code Modulation (PCM) genannt CD-Spieler spielen PCM-Samples mit einer Frequenz von Hz ab Jedes Sample besteht aus (2x für Stereo) 16 Bit Daraus folgt die CD-Datenrate von 16 x 2 x Bit/s = 150 kb/s Das ist single speed bei CD-Laufwerken! Michael Engel <michael.engel@udo.edu> 12
4 Eine Interrupt-Routine könnte jetzt also mit der Sample- Frequenz aufgerufen werden und jeweils den nächsten Wert auf den Lautsprecher ausgeben Wir könnten also Interrupts mit Hz erzeugen und hätten Sound in CD-Qualität! :-) Das funktioniert leider nur, wenn der Lautsprecher an einen (z.b. 16-Bit) Digital-Analog-Wandler angeschlossen ist Der Verstärker des PC-Lautsprechers ist aber mit OUT2 vom PIT1 verbunden... Problem: Der Timer-Ausgang OUTx im PC kann nur zwei Werte annehmen (0 und 1), das sieht dann so aus: Michael Engel 13 Frage: welche Werte haben hier smpl1, smpl2 und smpl3? Wie bekommen wir nun aus einem solchen Rechtecksignal eine wohlklingende Sinuskurve? Der PC-Lautsprecher kann in Bursts angesprochen werden Die Lautsprechermembran ist träge, bei 22kHz muss sie schon ganz schön schnell schwingen... Wenn man also den Lautsprecher kontinuierlich mit einem 5V-Pulse (log. 1 ) ansteuern, bewegt sich die Membran entsprechend weiter nach außen...also steigt die Amplitude des Signals! Die Frequenz des Pulsierens muss also der gewünschten Amplitude angepasst werden Wir können also in der Timer-Interrupt-Routine jeweils die passende Frequenz in den Counter 2 schreiben Das Verfahren ist eine 1-Bit-Digital-Analog-Wandlung (DAC) Michael Engel <michael.engel@udo.edu> 14 : Tips Mit OOStuBS könnten sich also auch Töne erzeugen lassen ;-) Bevor der Timer Töne ausgeben darf, muss das noch im Chipsatz aktiviert werden: inb or outb 0x61, al al, 0x03 al, 0x61 Achtung: neuere Nvidia-Chipsätze für 64-Bit x86-cpus implementieren den PIT offenbar anders und machen Probleme Michael Engel <michael.engel@udo.edu> 15 Michael Engel <michael.engel@udo.edu> 16
5 Aufgabe 5: Zeitscheiben-Scheduler Ziel: Schutz kritischer Betriebssystem-Abschnitte mit Hilfe von Schleusen Die Synchronisation der Aktivitäten innerhalb von OO-Stubs soll auf die Verwendung einer Schleuse umgestellt werden Gleichzeitig soll nun eine grobgranulare Locking-Strategie verwendet und eine Systemaufrufschnittstelle definiert werden Der Scheduler soll ausgelöst durch den Timer-Interrupt Threads verdrängen können Aufgabe 5: Zeitscheiben-Scheduler Hierzu müssen die Klassen Guarded_Scheduler, Thread, PIT und Watch implementiert werden Um aus Benutzerprogrammen heraus die geschützten Methoden des Schedulers aufrufen zu können, darf die globale Variable scheduler nicht länger ein Objekt der Klasse Scheduler sein, sondern muss eine Instanz der Klasse Guarded_scheduler sein. Michael Engel 17 Aufgabe 5: Zeitscheiben-Scheduler Michael Engel 19 Michael Engel 18 Aufgabe 5: Klasse Guarded_Scheduler Der Guarded_Scheduler implementiert die Systemaufrufschnittstelle zum Scheduler Die von ihm angebotenen Methoden werden direkt auf die Methoden der Basisklasse abgebildet Ihre Ausführung wird aber jeweils mit Hilfe eines Objekts der Klasse Secure geschützt Es werden keine Entrant-, sondern Thread-Objekte behandelt Öffentliche Methoden: void ready (Thread& that) Mit dieser Methode wird der Prozess that beim Scheduler angemeldet void exit () Hiermit kann sich ein Prozess selbst beenden. void kill (Thread& that) Mit dieser Methode kann ein Prozess einen anderen (that) beenden. void resume () Hiermit kann ein Prozesswechsel ausgelöst werden. Michael Engel 20
6 Tip Aufgabe 5: Klasse Guarded_Scheduler Da die Methoden von Guarded_Scheduler die gleichen Namen haben wie die der Basisklasse Scheduler, verdecken sie diese normalerweise Dies kann verhindert werden, wenn bei dem Aufruf einer Methode der Name der Basisklasse explizit angeführt wird Beispiel: Aufgabe 5: Klasse Thread Die Klasse Thread implementiert die Benutzerschnittstelle eines Fadens Zur Zeit ist Thread nichts weiter als ein neuer Name für die Klasse Entrant...das wird sich in Aufgabe 6 noch ändern Öffentliche Methoden: Thread (void* tos) Der Konstruktor leitet den Parameter tos an den Konstruktor der Basisklasse Entrant weiter. Michael Engel <michael.engel@udo.edu> 21 Aufgabe 5: Klasse PIT Die Klasse PIT steuert den Programmable Interval Timer (PIT) des PCs Öffentliche Methoden PIT (int us) Im Konstruktor wird der Timer so initialisiert, dass er in Abständen von ca. us Mikrosekunden regelmäßig Unterbrechungen auslöst Da die Auflösung des Timerbausteins maximal 838 Nanosekunden beträgt, ist keine ganz exakte Einstellung im Mikrosekundenbereich möglich int interval () Gibt an, welches Unterbrechungsintervall eingestellt wurde. void interval (int us) Stellt das Unterbrechungsintervall neu ein. Michael Engel <michael.engel@udo.edu> 23 Michael Engel <michael.engel@udo.edu> 22 Aufgabe 5: Klasse Watch Watch sorgt für Behandlung der Zeitgeberunterbrechungen Zeitscheiben werden verwaltet und bei Bedarf ein Prozesswechsel ausgelöst Öffentliche Methoden Watch (int us) Im Konstruktor wird der Timer so initialisiert, dass er in Abständen von ca. us Mikrosekunden regelmäßig Unterbrechungen auslöst. void windup () "zieht die Uhr auf" Dazu muss sich das Watch Objekt bei der Plugbox plugbox anmelden...und mit Hilfe des globalen PIC Objekts pic die Unterbrechungen des Timer Bausteins (repräsentiert durch das globale PIT Objekt pit) zulassen void prologue () Enthält den Prolog der Unterbrechungsbehandlung. void epilogue () In dieser Methode wird der Prozesswechsel ausgelöst. Michael Engel <michael.engel@udo.edu> 24
Betriebssystembau (BSB)
Betriebssystembau (BSB) 5. Übung http://ess.cs.tu-dortmund.de/de/teaching/ws2015/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik
MehrÜbung zu Betriebssysteme
Übung zu Betriebssysteme Zeitscheibenscheduling 20. & 22. Dezember 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte
Mehri386 Interrupt-Deskriptortabelle (IDT)
Agenda: IRQ-Behandlung in OO-Stubs Interrupts und Traps bei x86 Die Interrupt-Deskriptor-Tabelle (IDT) Aufbau der IDT Traps und Hardware IRQs Der Programmierbare Interruptcontroller PIC 8295A Aufbau Verwendung
MehrFür den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register liegen und beide laut Tabelle 0 sind:
Timerinterrupts beim Arduino Timer 1 (16bit) Register: Bits in den Registern und ihre Bedeutung: Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register
MehrResearch & Development Ultrasonic Technology / Fingerprint recognition DATA SHEETS OPKUD.
Research & Development Ultrasonic Technology / Fingerprint recognition DATA SHEETS & OPKUD http://www.optel.pl email: optel@optel.pl Przedsiębiorstwo Badawczo-Produkcyjne OPTEL Spółka z o.o. ul. Otwarta
MehrÜbung zu Betriebssystembau (Ü BS)
Übung zu Betriebssystembau (Ü BS) Interruptbehandlung in OOStuBS Wanja Hofer Lehrstuhl für Informatik IV WS 07/08 1 Agenda: IRQ-Behandlung in OOStuBS Interrupts und Traps beim x86 Die Interrupt-Deskriptor-Tabelle
MehrBFP Entwurf Eingebetteter Systeme Elektronische Musik. Ein Klavier oder Wie klingt ein Rechteck?
12 2011/10/26 BFP Entwurf Eingebetteter Systeme Elektronische Musik Wintersemester 2011/12 Ein Klavier oder Wie klingt ein Rechteck? Michael Engel Informatik 12 TU Dortmund Überblick Entwurfsprinzipien
MehrZähler- und Zeitgeber-Baugruppen
Zähler- und Zeitgeber-Baugruppen Sinn: häufig müssen Zeitbedingungen eingehalten werden z.b.: einige ms warten, Häufigkeit von Ereignissen zählen etc... Lösung: 1.) Zeitschleifen = Programm abarbeiten,
MehrTimer. Funktionsprinzip
Timer Funktionsprinzip 8-Bit-Timer des ATmega28 Beispiel Timer im Polling- und Interrupt-Betrieb Funktionsprinzip Timer ist ein in Hardware realisierter i Zähler ändert seinen Zählerstand mit einer vorgegebenen
Mehr2
TINF Interrupts EDT-Referat Jürgen Schwarzbauer 2ANB 1995/96 Inhalt : Was ist ein Interrupt? Zweck von Interrupts Maskierbare und nicht maskierbare Interrupts Aufruf eines Interrupts Anwendung von Interrupts
MehrDr. Monika Meiler. Inhalt
Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer
MehrErzeugen von PWM-Signalen mit dem Atmel AVR-Mikrocontroller
Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung/Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier Erzeugen von PWM-Signalen mit dem
MehrBetriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 3. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda: IRQ-Behandlung
MehrProgrammierbarer Intervall-Timer 8253/8254 (PIT)
-Berlin Teil 4: Timer Studiengang Technische Informatik (TI) Prof Dr-Ing Alfred Rożek nur für Lehrzwecke Vervielfältigung nicht gestattet EMC45: Teil4 22112003 Folie: 1 Prof Dr-Ing Alfred Rozek Berlin
MehrPhysik & Musik. Fouriersynthese. 1 Auftrag
Physik & Musik 21 Fouriersynthese 1 Auftrag Physik & Musik Fouriersynthese Seite 1 Fouriersynthese Bearbeitungszeit: 45 Minuten Sozialform: Einzelarbeit Voraussetzung: Posten 1: "Wie funktioniert ein KO?"
MehrPhysik & Musik. Optisches KO. 1 Auftrag
Physik & Musik 20 Optisches KO 1 Auftrag Physik & Musik Optisches KO Seite 1 Optisches KO Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert
Mehrmyavr Programmierung in C
myavr Programmierung in C Stefan Goebel Februar 2017 Stefan Goebel myavr Programmierung in C Februar 2017 1 / 12 Grundgerüst... braucht man immer! #include // Register- und Konstantendefinitionen
MehrSoftware ubiquitärer Systeme
Software ubiquitärer Systeme 3. Ü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/
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
MehrNWT2.0 zur PC-Software, Kalibrierung. Andreas Lindenau DL4JAL
NWT2.0 zur PC-Software, Kalibrierung Andreas Lindenau DL4JAL 11. November 2018 Inhaltsverzeichnis 1 Kalibrierung des NWT2 2 1.1 PowerON............................... 2 1.2 Starten der SW............................
Mehr1.3 Digitale Audiosignale
Seite 22 von 86 Abb. 1.2.12 - Wirkung der Schallverzögerung Effekte sind: Delay, Echo, Reverb, Flanger und Chorus Hört man ein akustisches Signal im Raum, dann werden die Signale von Wänden und anderen
MehrMedien- Technik. Digital Audio
Digital Audio Medientyp digital audio representation Abtastfrequenz /sampling frequency Quantisierung (Bittiefe) Anzahl der Kanäle/Spuren Interleaving bei Mehrkanal Positiv/negativ Codierung operations
MehrDie Klasse java.lang.object. Thorsten Treffer
Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:
MehrBetriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 7. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda Coroutinen
MehrMögliche Praktikumsaufgaben
Kapitel 8 Mögliche Praktikumsaufgaben 8.1 System on a Chip : Entwurf eines Sound-Moduls In diesem Praktikum soll ein Sound-Modul (Soundkarte) mit Master-Zugang zum Core Connect PLB-Bus entworfen werden.
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 12
Kapitel 18 Konstruktor / Destruktor einer Klasse Seite 1 von 12 Konstruktoren - Zur Initialisierung der Eigenschaften einer Klasse werden Konstruktoren verwendet. - Der Konstruktor wird bei der Definition
Mehr16-Bit PCA Timer/Counter
4.5.1 Programmable Counter Array (PCA) Das Programmable Counter Array besteht aus fünf PCA-Modulen, die einen gemeinsamen 16- Bit Timer/Counter als Zeitbasis verwenden. ECI: Externer Clock-Eingang für
MehrLaborprotokoll Analysemethoden
Laborprotokoll Analysemethoden 2.1 Bias Point Detail Es sollten per Bias Point Detail alle Ströme und Spannungen von der Schaltung aus Punkt 4.3 der Spannungsteiler-Übung mittels PSpice bestimmt werden.
MehrHardware Logik-Analysatoren
Hardware Logik-Analysatoren Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Hardware Logik-Analysatoren 1/24 2010-10-12
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrDigitalisierung von Tönen. Von Paul
Digitalisierung von Tönen Von Paul Was passiert beim hören Tonquelle erzeugt Schallwellen Alle vibrierende Objekte erzeugen Schallwellen. Durch die Vibration wird das Medium stoßweise verdichtet. Schallwellen
MehrME-6100 isolierte Analog-Ausgangskarte mit FIFOs
ME-6100 isolierte Analog-Ausgangskarte mit FIFOs Störsicher durch Isolation FIFOs auf Kanal 1 bis 4 Deutsches Handbuch Diese Analog-Ausgabe-Karten bieten höchste Betriebs-, Störsicherheit und Präzision
MehrLaborübung 3. Latches, Flipflops, Counter
Laborübung 3 Latches, Flipflops, Counter Teil 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis
MehrDynapic und Dynasim Interface mit Hilfe von Mikroprozessoren
Dynapic und Dynasim Interface mit Hilfe von Mikroprozessoren 1 Einleitung Als Interface für Dynapic und Dynasim eignet sich besonders die Methode des Ladungsverstärkers. Deren Realisierung mit Hilfe eines
MehrKapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik
Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrLebenszyklus von Threads
Threads Umgangssprachlich Faden, Diskussionsfaden, Gewinde, Faser, Garn, roter Faden Threads ermöglichen Nebenläufigkeit (parallele Ausführung von Anwendungsteilen). Typisch für Threads ist,dass sie zu
MehrEZS Handwerkszeug. Übung zur Vorlesung EZS. Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann
EZS Handwerkszeug Übung zur Vorlesung EZS Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
MehrSinneswahrnehmungen des Menschen
Sinneswahrnehmungen des Menschen Tastsinn Gleichgewicht Geruch Sehen Gehör Sprache Aktion Multimedia - Kanäle des Menschen Techniken für Medien im Wandel Multimediale Kommunikation Text : Bücher, Zeitschriften
MehrLogic Express 8 Arbeiten mit Apogee Hardware
Logic Express 8 Arbeiten mit Apogee Hardware Logic Express bietet ein spezifisches Kontrollfeld, mit dem Sie die Duet- und Ensemble- Hardware von Apogee direkt konfigurieren können. Hinweis: Das Kontrollfeld
MehrArchitektur Verteilter Systeme Teil 2: Prozesse und Threads
Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =
MehrAusnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein
Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten Dr. Beatrice Amrhein Definition 2 Definition: Ausnahme (Exception) In C# werden Fehler, die zur Laufzeit im
MehrArduino Kurs Bits und Bytes. Stephan Laage-Witt FES Lörrach
Arduino Kurs Bits und Bytes Stephan Laage-Witt FES Lörrach - 2018 Themen Digitale Eingabe Bit, Byte und Wort Reaktionszeittester FES Lörrach Juli 2017 2 Was ist ein Bit? Ein Bit ist die kleinste Informationseinheit
MehrVersuch 4 M_Dongle Servotester. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A.
Versuch 4 M_Dongle Servotester Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber 11.06.2016 Inhalt 1 Einführung... 2 1.1 Grundlagen Modellbau-Servo...
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 2)
DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und
MehrOOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.
Polymorphismus OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen wiederverwendet sein.
MehrLösung von Übungsblatt 8
Betriebssysteme (SS201) Lösung von Übungsblatt 8 Aufgabe 1 (Unterbrechungen) 1. Was sind Interrupts? Interrupts sind externe Unterbrechungen. Sie werden durch Ereignisse außerhalb des zu unterbrechenden
MehrInterruptverarbeitung
Interruptverarbeitung Ein Interruptaufruf unterbricht die gerade ablaufende Befehlsfolge in der Weise, daß nach Beendigung des laufenden Befehls nicht der nächste Befehl des Hauptprogramms ausgeführt,
MehrBLUE line. Bedienungsanleitung zum M-Unit Experimentierboard. Innovative Technik. Tobias Regenhardt Grüner Weg Seulingen
BLUE line Innovative Technik Bedienungsanleitung zum M-Unit Experimentierboard Stand: November 2003 Tobias Regenhardt Grüner Weg 6 37136 Seulingen Tel: 0175/2716591 e-mail: TobiasRegenhardt@web.de Vorwort
MehrBetriebsverhalten von digitalen integrierten Schaltungen
Betriebsverhalten von digitalen integrierten Schaltungen Paul Brosovsky, Manuel Janocha, Dennis Winkler 3. Dezember 2009 1 Inhaltsverzeichnis 1 Übergangsverhalten 3 1.1 Versuchsbeschreibung......................................
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 03: Wiederholung Klassen & Objekte Kyrill Schmid Lehrstuhl für Mobile und Verteilte Systeme Wiederholung Heutige Agenda Klassen, Objekte, Attribute und Methoden Das Schlüsselwort
Mehr2) die Programmierung eines Mikroprozessors, also die Kenntnisse von Software
Moderne Elektronik Mein Kollege Joachim hatte die Idee, mit Hilfe eines Computers ein Radio zu basteln. Hierbei vereinigen wir beide großen Gebiete der Elektronik: 1) den Reiz des Bastelns mit modernen
MehrSeminar: Multi-Core Architectures and Programming
Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrPIC16 Programmierung in HITECH-C
PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden
MehrSoll die Programm-Ausführung nicht beendet werden, muss der Fehler abgefangen werden. NumberFormatException
Soll die Programm-Ausführung nicht beendet werden, muss der Fehler abgefangen werden. Beispiel: NumberFormatException public class Adding extends MiniJava { public static void main(string[] args) { int
MehrForth-Vokabular. Vokabular für Attiny2313-Forth Stand: A: Assembler-Wort F: Forth-Wort C: Compiler-Wort
Vokabular für Attiny2313-Forth - 1 - Forth.voc Forth-Vokabular Stand: 01.11.2012 A: Assembler-Wort F: Forth-Wort C: Compiler-Wort. A gibt TOS auf Port B aus; (Datenrichtungsbits von Port B werden alle
MehrIR NEC Empfänger mit 4x7 LED Anzeige (ATtiny2313)
// Include C Libriaries #include #define F_CPU 4000000UL #include #include #include #include // Definition der Segmente #define SEG_O
MehrTeil 6: PIC Studiengang Technische Informatik (TI) Prof. Dr.-Ing. Alfred Rożek. nur für Lehrzwecke Vervielfältigung nicht gestattet
-Berlin Teil 6: PIC 8259 Studiengang Technische Informatik (TI) Prof Dr-Ing Alfred Rożek nur für Lehrzwecke Vervielfältigung nicht gestattet EMC45: Interrupt 4112002 Folie: 1 Prof Dr-Ing Alfred Rozek Berlin
MehrProbeklausur Java Einführung in die Informatik. Wintersemester 2016/2017
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 03: Wiederholung Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Wiederholung Klassen, Objekte, Attribute und Methoden Das Schlüsselwort
MehrDas Hauptfenster ist der normale Bereich den du im Alltag siehst. Von hier aus kannst du zu den Optionen und anderen Anzeigen wechseln.
Seite 1 von Lumen Speedfan Speedfan ist ein Programm zur Systemüberwachung, kann aber nebenher Veränderungen im des Systems durchführen. Am beliebtesten ist Speedfan im Umgang mit Lüfterdrehzahlen. Die
MehrGliederung 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
MehrReziprok Zähler mit 9-stelliger Anzeigegenauigkeit 10 Hz 1300 MHz
Reziprok Zähler mit 9-stelliger Anzeigegenauigkeit 10 Hz 1300 MHz Dieser Reziprok Zähler kann bei allen Frequenzen eine Anzeigegenauigkeit von 9 Stellen erreichen. Der Frequenzbereich geht von 10 Hz bis
MehrMikrocomputertechnik. 6. Exceptionhandling ( Ausnahmebearbeitung)
6. Exceptionhandling ( Ausnahmebearbeitung) Exception: Exception ist eine besondere Situation, auf die der Prozessor mit einem speziellen Programm (Exceptionroutine) reagieren muss. Das gerade ablaufende
MehrAufgabe 2: Aperiodic Task Support
Einleitung Erweiterung des Quadrokopter-Kontrollsystems Aufgabe 2: Aperiodic Task Support Echtzeitsysteme - Übungen zur Vorlesung Peter Ulbrich, Martin Hoffmann Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrBetriebssysteme (BS) Koroutinen und Fäden. Überblick: Vorlesungen. Agenda. Agenda. Anwendung(en) Hardware. Motivation: Quasi-Parallelität
Betriebssysteme (BS) Überblick: Vorlesungen Anwendung(en) Koroutinen und Fäden Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Gerätezugriff (Treiber) Kontrollflussabstraktion
MehrUFC. UNILAC- Strahlstrom-Digitalisierung und -Verlustüberwachung
UFC UNILAC- Strahlstrom-Digitalisierung und -Verlustüberwachung Verbesserung der elektronischen Schaltung SD-Seminar, 7.9.9, M.Witthaus und H.Reeg, SD Zur Erinnerung... Wozu wird die Strahlstrom-Digitalisierung
MehrSemestralklausur Einführung in die Programmierung, WS 2007/08, Seite 1/5 Name, Vorname, Matrikelnummer: Gruppe A
Semestralklausur Einführung in die Programmierung, WS 2007/08, 28.1.2008 Seite 1/5 Name, Vorname, Matrikelnummer: Unterschrift: Aufgabe 1 (12 Punkte) Gruppe A Schreiben Sie eine Klassenmethode mit einem
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
MehrInterrupt-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
MehrArduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach
Arduino Kurs Timer und Interrupts Stephan Laage-Witt FES Lörrach - 2018 Themen Timer Interrupts Regelmäßige Aufgaben ausführen Exakte Zeitintervalle messen FES Lörrach Juni 2018 2 Exakte Zeiten sind gar
MehrStudiengang Maschinenbau, Schwerpunkt Mechatronik (früher: Automatisierungstechnik) Seite 1 von 8
Studiengang Maschinenbau, Schwerpunkt Mechatronik (früher: Automatisierungstechnik) Seite 1 von 8 Hochschule München Fakultät 03 Zugelassene Hilfsmittel: alle eigenen, Taschenrechner Viel Erfolg!! Komponenten
MehrBootloader FastBoot von Peter Dannegger
Bootloader FastBoot von Peter Dannegger Anleitung von Karsten Donat www.karstendonat.de/avr Stand: 05.08.2007 1 Was ist ein Bootloader? Der Bootloader ist selbst ein kleines Programm. Es wird beim Start
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 10. Vererbung und Polymorphie Vererbung und Polymorphie in C++ Seite 2 Klassen können von anderen Klassen
MehrAnalog-Digital-Converter
Analog-Digital-Converter Funktionsprinzip ADC bei ATmega128 Beispiel in C Funktionsprinzip 1 Analog-Digital-Wandlung Wandelt analoge Spannung / analogen Strom (Messgröße) in einen binären Wert um, der
MehrPuls Weiten Modulation (PWM)
Puls Weiten Modulation (PWM) Bei der Puls-Weiten-Modulation (PWM), wird ein digitales Ausgangssignal erzeugt, dessen Tastverhältnis moduliert wird. Das Tastverhältnis gibt das Verhältnis der Länge des
MehrVererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus
Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur
MehrAlgorithmen und Datenstrukturen Sommersemester Übung Abgabe bis , 10:00 Uhr
4. Übung Abgabe bis 24.05.2010, 10:00 Uhr Aufgabe 4.1: Referenzen Geben Sie Ihre Lösung als Referenzen.pdf ab. 16 Punkte a) Führen Sie einen Schreibtischlauf des folgenden Java-Programms durch. Es werden
MehrProf. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen
Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen
Mehr4 Erzeugung von Tonsignalen
4 Erzeugung von Tonsignalen 4.1 Etwas Theorie: Sample, Samplefrequenz, Abtasten Zeit in ms u1(t) 0 0 1 3,09 2 5,88 3 8,09 4 9,51 5 10 6 9,51 7 8,09 8 5,88 9 3,09 10 0 11-3,09 12-5,88 13-8,09 14-9,51 15-10
MehrJDS6600 Dual-Channel Signal Generator
3 Dual-Channel Signal Generator INHALTSVERZEICHNIS 1. Einführung 2. Geräteübersicht 3. Kurzbefehlübersicht 4. Parametereinstellungen im Hauptinterface 5. Mess- und Zählfunktionen 6. Modulationsmodus 7.
MehrHDMI Switch, 3-Port BEDIENUNGSANLEITUNG DS-44300
HDMI Switch, 3-Port BEDIENUNGSANLEITUNG DS-44300 Vielen Dank für den Kauf dieses Produktes. Für eine optimale Leistung und Sicherheit lesen Sie bitte diese Anweisungen sorgfältig durch, bevor Sie dieses
MehrSequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )
Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 24. September 2012 Agenda 1 Funktionen Aufbau und Anwendung Call by Value Call by Reference Überladen von Funktionen Default
MehrParallele und funktionale Programmierung Sommersemester Übung Abgabe bis , 10:00 Uhr
4. Übung Abgabe bis 16.05.2013, 10:00 Uhr Aufgabe 4.1: Thread-Sicherheit a) Wann sind Klassen korrekt? Wie kann man nicht korrekte Klassen erkennen? b) Wann sind Klassen thread-sicher? Wie kann man nicht
MehrDas Rückmelde-Modul GLS88-8 V3.21
Das Rückmelde-Modul GLS88-8 V3.21 Dieses Rückmelde-Modul (Gabellichtschranke für den S88 mit 8 Anschlüssen) bietet die Möglichkeit, Zugbewegungen mit Hilfe von 8 Infrarot-Lichtschranken zu überwachen.
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 9. Klassen und Methoden Was sind Klassen? Seite 2 sprachliches Mittel von C++ um objektorientierte Programmierung
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrFragen zur OOP in Java
- 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...
Mehr3-Port HDMI Switch BEDIENUNGSANLEITUNG (DS-44300)
3-Port HDMI Switch BEDIENUNGSANLEITUNG (DS-44300) Inhaltsverzeichnis 1.0 Einleitung... 2 2.0 Technische Daten... 3 3.0 Packungsinhalt... 4 4.0 Beschreibung Front- und Rückseite... 4 5.0 Anschluss und Funktionsweise...
Mehr4.0 Der Atmel AT89LPx052 Mikrocontroller
4.0 Der Atmel AT89LPx052 Mikrocontroller Die ersten beiden Derivate der Atmel LP Familie sind der AT89LP2052 und der AT89LP4052 in verschiedenen Gehäusevarianten mit 2 Kbytes bzw. 4 KBytes Flash. Gegenüber
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
Mehr