Single-tasking operating system support, Cooperative multitasking support, Multitasking support (preemptive operating system) – National Instruments NI-VXI User Manual

Page 46

Advertising
background image

Chapter 3 Software Overview

NI-VXI User Manual

3-8

© National Instruments Corporation

The

WSabort

function is the only exception to this restriction.

WSabort

is used to abort various Word Serial transfers in progress and

will usually be called from an interrupt service routine (although it is
not limited to interrupt service routines). The most common example of
calling this function from an interrupt service routine is with the
handling of Unrecognized Command events from a device. When an
Unrecognized Command event is received by the NI-VXI interrupt or
Signal interrupt handler,

WSabort

must be called to abort the current

Word Serial command transfer in progress that caused the generation
of the Unrecognized Command event.

Single-Tasking Operating System Support

The Word Serial Protocol functions have no asynchronous or multiple
call support for a non-multitasking operating system. Because the
Word Serial Protocol functions are polled I/O functions that do not
return to the caller until the entire operation is complete, only one call
can be pending for the application-level code. No Word Serial Protocol
functions, other than

WSabort

, can be called at interrupt service

routine time. If a Word Serial operation is underway and an interrupt
service routine invokes another Word Serial operation, the polling
mechanism may become inconsistent with the state of the Servant’s
communication registers. This could result in invalid data being
transferred, protocol errors occurring, or a timeout. The

WSabort

function is used to asynchronously abort Word Serial operations in
progress and can be used at interrupt service routine time.

Cooperative Multitasking Support

NI-VXI supports multiple processes under cooperative multitasking
operating systems. The behavior is the same as in single-tasking
operating systems, described above.

Multitasking Support (Preemptive Operating System)

The Word Serial Protocol functions have extensive mutual exclusion
support when running on a preemptive multitasking operating system.
A two-level mutual exclusion algorithm is used to allow read, write,
and trigger calls to be made at the same time. Command transfers will
automatically suspend read, write, or trigger calls in progress.

Advertising