|
V+ 12.4 Release Notes |
INT.EVENT source, level
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.
VMEbus interrupts are available only on systems with the optional V+ Extensions license.
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.
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.)
INT.EVENT 201 ;Initiate monitoring of vector 201 . . . WAIT.EVENT ;Wait until interrupt occurs INT.EVENT 0 ;Cancel monitoring of interruptsGET.EVENT (program instruction)
|
Please submit comments to: techpubs@adept.com |