Instruction manual
AMPDIO DRIVERS
Page 195
TCsetUserInterrupt
TCsetBufferUserInterrupt
enableInterrupts
disableInterrupts
6.4.15.2 Prepare a Non-Callback Buffered User Interrupt for Analogue I/O —
TCsetNCBufferUserInterruptAIO
Called to set up buffered user interrupts without callbacks and without creating any new
threads. Instead of callbacks, data is transferred by the application calling the
TCdriveNCBufferUserInterrupt function. This function may be used by a HP VEE application.
This variant is used to support reading from or writing to analogue channels.
SUPPORTED IN VERSION 4.00 ONWARDS.
N.B. An incompatible version of this function was included in the unreleased Version 3.00.
If the interrupt source is enabled at the first and second levels, it will be activated. Interrupts
are initially disabled at the first level; use enableInterrupts to enable them. In versions of the
DLL up to version 4.39, all interrupt sources are initially disabled at the second level but are
automatically enabled by this interrupt set-up function. In versions of the DLL from 4.40
onwards, all valid interrupt sources are initially enabled at the second level but are no longer
automatically enabled by this interrupt set-up function. In either case, if interrupt sources have
not been explicitly disabled at the second level, there is no need to explicitly enable them.
i = TCsetNCBufferUserInterruptAIO (h, Chip, SizeReq, fContin,
ISRDATA, Group, ChMask)
where h short: board handle as issued by the
registerBoardEx function.
Chip short: determines interrupt source. The
interrupt source number from 0 to 5 multiplied
by 4 (0, 4, 8, 12, 16, 20). For timer/counter
interrupt or first interrupt line on a PPI chip it is
the address offset of the chip. For second
interrupt line on a PPI chip it is the address
offset of the PPI chip plus 4. Corresponds to bit
positions in interrupt enable register if the card
has one, otherwise use the address offset of
the interrupting chip. The following pre-defined
constants may be used:
X1 = 0 PPIXC0 = 0
X2 = 4 PPIXC3 = 4
Y1 = 8 PPIYC0 = 8
Y2 = 12 PPIYC3 = 12
Z1 = 16 PPIZC0 = 16
Z2 = 20 PPIZC3 = 20
PPIX = 0 PPIYC7 = 8
PPIY = 8 EXT0 = 0
PPIZ = 16 ADC0 = 0
ADC2 = 8
DAC2 = 8
DAC4 = 16
SATRIG = 12
SizeReq unsigned long: number of data values in each