2.3 Interrupt
Operation
There are two interrupt sources included in the PIO-DA/PISO-DA series. These
two signals are named as INT0 and INT1, and their signal sources are as
follows:
INT0: 8254 counter0 output (Refer to Sec. 2.2)
INT1: 8254 counter2 output (Refer to Sec. 2.2)
If only one interrupt signal source is used, the interrupt service routine doesn’t
have to identify the interrupt source. Refer to DEMO3.C and DEMO4.C for more
information.
If there is more than one interrupt source, the interrupt service routine has to
identify the active signals in the following manner: (Refer to DEMO5.C and
DEMO6.C)
1. Read the new status of all interrupt signal sources
2. Compare the new status with the old status to identify the active signals
3. If INT0 is active, service it
4. If INT1 is active, service it
5. Save the new status to replace the old status
Note:
If the interrupt signal is too short, the new status may be the same as the
old status. In that situation, the interrupt service routine will not be able to
identify which interrupt source is active, so the interrupt signal must be
hold_active for long enough until the interrupt service routine is executed.
This hold_time is different for different OS versions. The hold_time can be
as short as a micro-second or as long as second. In general, 20 mS should
be long enough for all OS version.
!
PIO-DA/PISO-DA Series User Manual (Ver.2.9, Feb. 2011, PMH-009-29 )
10