• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Wintersemester 2025/26
      • Systemprogrammierung 2
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
      • Projekt angewandte Systemsoftwaretechnik
      • Aktuelle Entwicklung in Verteilten und Objektorientierten Betriebssystemen (für Bachelor-/Masterarbeit)
    • Sommersemester 2026
      • Applied Software Architecture
      • Betriebssystemsicherheit
      • Betriebssystemtechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verlässliche Echtzeitsysteme
      • Verteilte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssystemtechnik
    • Vorlesung
      • Folien
      • Glossar
    • Übung
      • Aufgaben
      • Dokumentation
        • Blog
          • Entwicklungsumgebung
            • Assembler Crashkurs
              • C++ Crashkurs
                • 🔗 Testrechnerverwaltung
                • Kontakt
              • Evaluation

              Dokumentation

              • machine
              Classes | Namespaces | Enumerations | Functions | Constants
              pit.cc File Reference
              #include "machine/pit.h"
              #include "machine/ioport.h"
              #include "machine/core.h"
              + Include dependency graph for pit.cc:

              Classes

              struct  PIT::Control.__unnamed70__
               I/O-port bitmap for the NMI Status and Control Register. More...
               

              Namespaces

              namespace  PIT
               Abstraction of the historical Programmable Interval Timer (PIT).
               

              Enumerations

              enum  PIT::AccessMode {
                PIT::LATCH_COUNT_VALUE = 0 ,
                PIT::LOW_BYTE_ONLY = 1 ,
                PIT::HIGH_BYTE_ONLY = 2 ,
                PIT::LOW_AND_HIGH_BYTE = 3
              }
               Access mode. More...
               
              enum  PIT::OperatingMode {
                PIT::INTERRUPT_ON_TERMINAL_COUNT = 0 ,
                PIT::PROGRAMMABLE_ONE_SHOT = 1 ,
                PIT::RATE_GENERATOR = 2 ,
                PIT::SQUARE_WAVE_GENERATOR = 3 ,
                PIT::SOFTWARE_TRIGGERED_STROBE = 4 ,
                PIT::HARDWARE_TRIGGERED_STROBE = 5
              }
               Operating Mode. More...
               
              enum  PIT::Format {
                PIT::BINARY = 0 ,
                PIT::BCD = 1
              }
               data format More...
               

              Functions

              static IOPort PIT::data (0x40+CHANNEL)
               
              bool PIT::set (uint16_t us)
               Start timer.
               
              uint16_t PIT::get (void)
               Reads the current timer value.
               
              bool PIT::isActive (void)
               Check if the timer is running.
               
              bool PIT::waitForTimeout (void)
               (Active) waiting for timeout
               
              bool PIT::delay (uint16_t us)
               Set the timer and wait for timeout.
               
              void PIT::pcspeaker (uint32_t freq)
               Play a given frequency on the PC speaker.
               
              void PIT::disable (void)
               Deactivate the timer.
               

              Constants

              const uint8_t PIT::CHANNEL = 2
               
              static IOPort PIT::mode_register (0x43)
               
              static IOPort PIT::controlRegister (0x61)
               
              const uint64_t PIT::BASE_FREQUENCY = 1193182ULL
               

              Class Documentation

              struct PIT::Control.__unnamed70__

              I/O-port bitmap for the NMI Status and Control Register.

              Note
              Over time, the meaning of the bits stored at I/O port 0x61 changed; don't get the structure confused with old documentation on the IBM PC XT platform.
              See also
              Intel® I/O Controller Hub 7 (ICH7) Family, page 415
              Class Members
              uint8_t enable_timer_counter2: 1 If enabled, the interrupt state will be visible at status_timer_counter2.
              uint8_t enable_speaker_data: 1 If set, speaker output is equal to status_timer_counter2.
              uint8_t enable_pci_serr: 1 not important, do not modify
              uint8_t enable_nmi_iochk: 1 not important, do not modify
              uint8_t refresh_cycle_toggle: 1 not important, must be 0 on write
              uint8_t status_timer_counter2: 1 will be set on timer expiration; must be 0 on write
              uint8_t status_iochk_nmi_source: 1 not important, must be 0 on write
              uint8_t status_serr_nmi_source: 1 not important, must be 0 on write
              Friedrich-Alexander-Universität
              Erlangen-Nürnberg

              Schlossplatz 4
              91054 Erlangen
              • Impressum
              • Datenschutz
              • Barrierefreiheit
              • Facebook
              • RSS Feed
              • Xing
              Nach oben