Herunterladen Diese Seite drucken

Addi-Data APCI-1500 Technisches Referenzhandbuch Seite 58

Vorschau ausblenden Andere Handbücher für APCI-1500:

Werbung

Standardsoftware
Aufgabe:
WINDOWS 32-BIT INFORMATION!
i
Für Windows NT und Windows 2000/9x stehen 4 Rings zur Verfügung
(Ring 0 bis Ring 3).
Das Benutzer-Anwendungsprogramm läuft unter Ring 3
-
kein Zugriff auf Hardware zur Verfügung.
VXD und SYS Treiber laufen unter Ring 0 und machen einen Hardwarezugriff.
-
Von Ring 0 kann nicht auf die Variablen von Ring 3 zugegriffen werden. Um
-
den Informationsaustausch zu ermöglichen, wird ein emeinschaftsspeicher
(Shared Memory) benutzt.
Ring 0 und Ring 3 verfügen über einen Zeiger, der auf diesen
-
Gemeinschaftsspeicher zugreift. Die Adressen der beiden Zeiger sind
unterschiedlich: der Zeiger , der im User Interrupt rückgegeben wird, ist nicht
der gleiche wie der, der in der Funktion
i_APCI1500_SetBoardIntRoutineWin32 durchgegeben wird.
Diese Informationen gelten nur im Synchronous-Mode.
Diese Funktion ist für alle Karten xPCI-1500 aufzurufen, auf die Sie ein Interrupt
aktivieren wollen. Sie erzeugt eine Benutzer Interruptroutine für alle Karten, auf
die Sie ein Interrupt aktiviert haben.
Beim ersten Aufruf der Funktion (erste Karte):
wird die Benutzer Interruptroutine installiert,
-
werden die Interrupts ermöglicht,
-
wird der Benutzer-Gemeischaftsspeicher zugeteilt, wenn
-
APCI1500_SYNCHRONOUS_MODE ausgewählt wurde.
Falls Sie mehrere xPCI-1500 betreiben, die auf Interrupts reagieren sollen,
müssen Sie die Funktion so oft aufrufen, wie Sie xPCI-1500 Karten betreiben.
Die variable v_FunctionName hat nur beim ersten Aufruf eine Bedeutung.
Ab dem zweiten Aufruf der Funktion (nächste Karten) werden Interrupts
ermöglicht. D.h. die erste Karte kann IRQs bekommen.
Interrupt
Wenn ein Interrupt erzeugt wird, wird die Benutzer Interruptroutine vom System
aufgerufen. Die erste Karte kann Interrupts erzeugen.
Ein Interrupt wird erzeugt, wenn:
der Zähler/Timer abgelaufen ist
-
ein Event generiert wird
-
der Watchdog abgelaufen ist.
-
Folgende Fehler können auftreten:
Übertemperatur
-
Kurzschluss
-
keine Spannung
-
Wenn mehrere Karten betrieben werden, und mehrere auf Interrupts reagieren
sollen, gibt die Variable b_BoardHandle die Identifikationsnummer (Handle) der
Karte, die den Interrupt erzeugt hat.
56
APCI-/CPCI-1500
.
In diesem Ring steht

Werbung

loading

Diese Anleitung auch für:

Cpci-1500