4 interrupt operation, Nterrupt, Peration – Omega Vehicle Security OME-PIO-D56 User Manual

Page 13

Advertising
background image

2.4 Interrupt Operation

All PC0, PC1, PC2 and PC3 can be used as an interrupt signal sources. Refer to

Sec. 2.1 for PC0/PC1/PC2/PC3 location. The interrupt of OME-PIO-D56/OME-
PIO-D24 is level-trigger & Active_High
. The interrupt signal can be programmed to

inverted or non-inverted

state. The programming procedure is given as follows:

1. Make sure the initial level is High or Low
2. If the initial state is High Æ select the

inverted

signal (Sec. 3.3.6)

3. If the initial state is Low Æ select the

non-inverted

signal (Sec. 3.3.6)

4. Enable the INT function (Sec. 3.3.4)
5. If the interrupt signal is active Æ program will transfer into the interrupt

service routine Æ if INT signal is High now Æ select the inverted input

Æ if INT signal is Low now Æ select the non-inverted input

Refer to DEMO3.C & DEMO4.C for single interrupt source. Refer to

DEMO5.C for four interrupt sources.

If only one interrupt signal source is used, the interrupt service routine does not

have to identify the interrupt source. (Refer to DEMO3.C & DEMO4.C)

If there is more than one interrupt source, the interrupt service routine has to

identify the active signals via the following steps: (Refer to DEMO5.C)
1. Reads the new status of the interrupt signal source
2. Compares the new status with the old status to identify the active signals
3. If PC0 is active, service PC0 & non-inverter/inverted the PC0 signal
4. If PC1 is active, service PC1 & non-inverted/inverted the PC1 signal
5. If PC2 is active, service PC2 & non-inverted/inverted the PC2 signal
6. If PC3 is active, service PC3 & non-inverted/inverted the PC3 signal
7. Saves the new status to old status

Note: If the interrupt signal is too short, the new status may be the same as old
status. So the interrupt signal must be held active until the interrupt service
routine is executed. This hold time is different for different operating systems. It
can be as a short as micro-second or as a long as second. In general, 20ms is
enough for most operating systems.

OME-PIO-D56/OME-PIO-D24 User Manual (Ver.2.1, Oct/2003)

---- 11

Advertising