2.5Interrupt Operation
The PC0, PC1, PC2, PC3 of CN1_PC can be used as interrupt signal source. Refer to Sec. 2.1 for PC0/1/2/3 location. The interrupt of
&Active_High. The interrupt signal can be programmed to inverted or non- inverted state. The programming procedure is as follows:
1.make sure the initial level is High or Low
2.if the initial state is High Æ select the inverted signal (Section. 3.3.6)
3.if the initial state is Low Æ select the
4.enable the INT function (Section. 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 are more than one interrupt source, the interrupt service routine has to identify the active signals as following: (refer to DEMO5.C)
1.Read the new status of the interrupt signal source
2.Compare the new status with the old status to identify the active signals
3.If PC0 is active, service CN1_PC0 &
4.If PC1 is active, service CN1_PC1 &
5.If PC2 is active, service CN1_PC2 &
6.If PC3 is active, service CN1_PC3 &
7.Save the new status to old status
Note: If the interrupt signal is too short, the new status may be as 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. The hold time can be as short as