V+ 12.4 Release Notes

Displays the Table of Contents for the current document
Displays the previous topic in the current document
Displays the next topic in the current document
Displays the Index for the current document

INT.EVENT source, level

 
Function

Prepare to have an event sent (as though from a SET.EVENT instruction) to the current task if an interrupt occurs on a specified VMEbus vector or a specified digital I/O signal transitions to positive.

Usage Considerations

VMEbus interrupts are available only on systems with the optional V+ Extensions license.

Parameter s

source Integer, expression, or real variable specifying:

a VMEbus vector in the range 192 - 255

a digital I/O signal in the range 1001 - 1003

the value 0, which cancels monitoring

level Optional argument specifying the VME interrupt request level to be used. Acceptable values are 1 and 2.

Details

The CPU running the task must be configured for VME interrupts. Only two CPU boards within the system can be configured for interrupts.

If source is set to 0, signaling is canceled for the current task. Signaling is canceled when a task exits normally, is killed, or is reexecuted.

The V+ system can connect only one fast digital input to an interrupt at any one time. If you attempt to connect more than one, you get a *Device not ready* error when the INT.EVENT instruction is executed.

For fast digital inputs (1001, 1002, 1003) in your interrupt handler (that is, your V+ routine that issued the INT.EVENT and WAIT.EVENT), try reading the digital IO signal directly using the SIG() function. Of course, this assumes that you have specified that the external device providing the input signal keeps it high long enough not only for the INT.EVENT to be triggered, but also for your V+ routine to get started.

For VME bus interrupts from third-party boards, you should communicate with the board(s) that you expect to have issued the interrupt, using IOPUT_ and IOGET_ as appropriate, to verify that it was indeed the source. For example, you could program the third-party board to place a flag in the shared memory area of your system processor before it issues the vectored interrupt, and then you could use IOGET_ to read it after the event occurred. (See also the V+ Language User's Guide for a general description of shared memory access.)

Example
INT.EVENT 201								;Initiate monitoring of vector 201
	.
	.
	.
WAIT.EVENT								;Wait until interrupt occurs 
INT.EVENT 0								;Cancel monitoring of interrupts 
Related Keyword s

GET.EVENT (program instruction)

SET.EVENT (program instruction)

WAIT.EVENT (program instruction)

Syntax

Please submit comments to: techpubs@adept.com

Last modified on: 06/28/2004
Copyright © 2004 by Adept Technology, Inc.
All rights reserved.