Operating the XtraDrive Using XtraWare
These variables are:
♦
Interrupt_request:
Lists interrupt events that have occurred.
♦
Interrupt_mask:
Used to specify which interrupt to ignore.
♦
Interrupt_pending:
Lists the interrupts that are to be handled.
Each of these variables is discussed in detail below.
4.11.6.1.
Interrupt_request
When an interrupt event occurs, the corresponding bit in the
Interrupt_request variable is set to 1.
Once the corresponding interrupt service routine has been completed, the
bit in the variable is reset to 0.
The values of the bits are read/write, therefore interrupts can be reset from
within the program using the SET_VAR command. This allows you, for
example, to clear all interrupts from within one interrupt service routine.
Clearing an interrupt cancels the execution of the associated interrupt
service routine. However, if an interrupt is cleared from within its own
interrupt service routine, the interrupt service routine will be completed
first.
The values of the bits of Interrupt_request are set using the SET_VAR
command. The value of the variable must be set in decimal format. For
example, to set bits 0 and 1 to 1, and all other bits to 0, Interrupt_request
would have to be set to 3, which in binary form is 0000011.
4.11.6.2.
Interrupt_mask
By setting a mask, you can specify to which interrupts the XtraDrive should
react and which should be ignored. This allows you to specify interrupt
service routines for a number of interrupts, and to then enable or disable
each interrupt from within the program.
By setting a bit in the variable to 1, the corresponding interrupt is enabled.
Setting a bit corresponding to an interrupt that has already occurred to 0
does not prevent the execution of its interrupt service routine, but does
prevent the interrupt from being handled again.
The values of the bits of Interrupt_mask are set using the SET_VAR
command. The value of the variable must be set in decimal format. For
example, to set bits 1 and 2 to 1, and all other bits to 0, Interrupt_mask
would have to be set to 6, which in binary form is 0000110.
Note that by default, all bits in Interrupt_mask are set to 0, and thus by
default none of the interrupts will be handled. The command SET_VAR must
be used to change the value of the mask variable so as to enable an
interrupt.
78
XtraWare User Manual
Summary of Contents for XTRAWARE - V3.0
Page 2: ......
Page 4: ......
Page 12: ......
Page 79: ...Operating the XtraDrive Using XtraWare Table 14 Sample ECAM Table XtraWare User Manual 69 ...
Page 202: ......
Page 220: ......
Page 258: ...List of Operation Codes 248 XtraWare User Manual versions use STOP_EX ...