Renesas M16C User Manual

Page of 340
Rev.1.10    Jul 01, 2005    page 287 of 318
REJ09B0124-0110
M16C/6N Group (M16C/6NK, M16C/6NM)
22. Usage Precaution
Under development
This document is under development and its contents are subject to change.
22.7.4 Changing Interrupt Generate Factor
If the interrupt generate factor is changed, the IR bit of the interrupt control register for the changed
interrupt may inadvertently be set to “1” (interrupt requested). If you changed the interrupt generate factor
for an interrupt that needs to be used, be sure to set the IR bit for that interrupt to “0” (interrupt not
requested).
Changing the interrupt generate factor referred to here means any act of changing the source, polarity or
timing of the interrupt assigned to each software interrupt number. Therefore, if a mode change of any
peripheral function involves changing the generate factor, polarity or timing of an interrupt, be sure to set
the IR bit for that interrupt to “0” (interrupt not requested) after making such changes. Refer to the descrip-
tion of each peripheral function for details about the interrupts from peripheral functions.
Figure 22.3 shows the procedure for changing the interrupt generate factor.
Figure 22.3  Procedure for Changing Interrupt Generate Factor
_____
22.7.5 INT Interrupt
• Either an “L” level of at least tW(INH) or an “H” level of at least tW(INL) width is necessary for the signal
________
________
input to pins INT0 to INT8 
(1)
 regardless of the CPU operation clock.
• If the POL bit in the INT0IC to INT8IC registers 
(2)
, the IFSR10 to IFSR15 bits in the IFSR1 register or the
IFSR23 to IFSR25 bits 
(3)
 in the IFSR2 register are changed, the IR bit may inadvertently set to “1”
(interrupt requested). Be sure to set the IR bit to “0” (interrupt not requested) after changing any of those
register bits.
NOTES:
1.
________
________
The pins INT6 to INT8 are only in the 128-pin version.
2. The INT6IC to INT8IC registers are only in the 128-pin version.
3. The IFSR23 to IFSR25 bits are effective only in the128-pin version. In the 100-pin version,
these bits are set to “0” (one edge).
Changing the interrupt source
Disable interrupt 
(2) (3)
Use the MOV instruction to set the IR bit to "0" 
(interrupt not requested) 
(3)
Change the interrupt 
generate factor
 
(including a mode change of peripheral function)
Enable interrupt 
(2) (3)
End of change
IR bit: A bit in the interrupt control register for the interrupt whose interrupt 
generate factor
 is
to be changed
NOTES:
1. The above settings must be executed individually. Do not execute two or more settings
simultaneously (using one instruction).
2. Use the I flag for the INTi interrupt (i = 0 to 8; 6 to 8 are only in the 128-pin version).
For the interrupts from peripheral functions other than the INTi interrupt, turn off the
peripheral function that is the source of the interrupt in order not to generate an interrupt
request before changing the interrupt 
generate factor
. In this case, if the maskable
interrupts can all be disabled without causing a problem, use the I flag. Otherwise, use
the corresponding ILVL2 to ILVL0 bit for the interrupt whose interrupt 
generate factor
 is
to be changed.
3. Refer to 22.7.6 
Rewrite Interrupt Control Register
 for details about the instructions to
use and the notes to be taken for instruction execution.