Standard software
PA 1500
Task:
i
IMPORTANT: WINDOWS 32-BIT INFORMATION
For Windows NT and Windows 95, 4 running rings (ring 0 to ring 3) are
available
The user application operates in ring 3. This ring does not give access to
hardware.
-
VXD and SYS driver operate in ring 0 and give access to hardware.
-
Ring 0 has no direct access to global variable from ring 3. It has to use a
shared memory.
-
Ring 0 and ring 3 have a pointer that points on this shared memory. These
2 pointers are not configured under the same address.
This function must be called up for each
PA 1500
for which an interrupt is
to be enabled.
First calling (first board):
-
the user interrupt routine is installed
-
interrupts are enabled
-
user shared memory is allocated if PA1500_SYNCHROUNOUS_MODE
has been selected.
If you operate several boards
PA 1500
which have to react to interrupts, call
up the function as often as you operate boards
PA 1500
. The variable
v_FunctionName
is only relevant
for the first calling
.
From the second call of the function (next board):
- interrupts are allowed.
Interrupt
The user interrupt routine is called up by the system when an interrupt is
generated.
An interrupt is generated when:
-
the counter/timer has run down
-
an event is generated
-
the watchdog has run down
-
The following errors are possible:
-
overtemperature
-
short-circuit
-
no voltage is available
If several boards are operated and if they have to react to interrupts, the
variable
b_BoardHandle
returns the identification number (handle) of the
board which has generated the interrupt.
User interrupt routine can be called :
-
directly by driver interrupt routine (Synchronous mode). The code of the
user interrupt routine directly operates in ring 0.
-
by the driver interrupt thread (Asynchronous mode). An event is generated
and the interrupt thread calls up the user interrupt routine. The code of the
user interrupt routine operates in ring 3.
-
The driver interrupt thread has the highest priority (31) in the system.
52