Справочник Пользователя для National Instruments NI-VXI

Скачать
Страница из 149
Chapter 3      Software Overview
© National Instruments Corporation
3-39
NI-VXI User Manual
Figure 3-3 provides a graphical overview of the NI-VXI interrupt and
signal functions.
RouteVXIint()
VXI/VME Interrupts 1-7
Hardware
NI-VXI
Software
User
Application
VXIintHandlers
SignalHandlers
NI-VXI base Interrupt Service Routines (ISR)
Local VXI Signals
EnableSignalInt()
DisableSignalInt()
RouteSignal()
EnableVXIint()
DisableVXIint()
EnableVXItoSignalInt()
DisableVXItoSignalInt()
SetVXIintHandler()
GetVXIintHandler()
DefaultVXIintHandler()
SignalEnq()
User
ISRs
(1 per VXI/VME interrupt level)
(1 per logical address)
SetSignalHandler()
GetSignalHandler()
DefaultSignalHandler()
Signal Processor
Signal Queue
WaitForSignal()
If signal not on queue
  enable monitor
  block till received
else
  SignalDeq()
return signal, mask
SignalDeq()
(uint16)signal
SignalEnq()
SignalDeq()
SignalJam()
(uint16)statusId
WaitForSignal()
(uint16)level, (uint32)statusId
(uint16)signal
(uint16)signal
Get Signal
Get Status/Id
VXIintAcknowledgeMode()
Figure 3-3.  NI-VXI Interrupt and Signal Model
  WaitForSignal Considerations
The function 
WaitForSignal
 can be used to suspend a
process/function until a particular VXI signal (or one of a set of
signals) arrives. Any signals to be waited on should be routed to the
global signal queue. If the 
RouteSignal
 function has specified
for the signal to be handled by the interrupt service routine, the
WaitForSignal
 call will not detect that the signal and the
process/function may block until a timeout. 
WaitForSignal
 attempts
to dequeue a signal of the specified type before the process/function is
suspended. If an appropriate signal can be dequeued, the signal is