Interrupt variables, Interrupt, Variables – Yaskawa FSP Amplifier FlexWorks User Manual

Page 91: Interrupt_request 4.11.6.2. interrupt_mask

Advertising
background image

Operating the FSP Amplifier Using FlexWorks

91

4.11.6. Interrupt

Variables

The FSP Amplifier uses three variables (registers), each of which is
a system variable. Each variable consists of eight bits, one for each
interrupt labeled 0 to 7.

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 FSP
Amplifier 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

Advertising
This manual is related to the following products: