Section 3 Exception Handling
Rev. 7.00 Mar 10, 2005 page 99 of 652
REJ09B0042-0700
3.4.2
Notes on Rewriting Port Mode Registers
When a port mode register is rewritten to switch the functions of external interrupt pins and when
the value of ECPWME in AEGSR is rewritten to switch between selection/non-selection of
IRQAEC, the following points should be observed.
When an external interrupt pin function is switched by rewriting the port mode register that
controls pins
IRQ
4
,
IRQ
3
,
IRQ
1
,
IRQ
0
,
WKP
7
to
WKP
0
, the interrupt request flag may be set to 1 at
the time the pin function is switched, even if no valid interrupt is input at the pin. Be sure to clear
the interrupt request flag to 0 after switching pin functions. When the value of ECPWME in
AEGSR that sets selection/non-selection of IRQAEC is rewritten, the interrupt request flag may
be set to 1, even if a valid edge has not arrived on the selected IRQAEC or IECPWM (PWM
output for AEC). Therefore, be sure to clear the interrupt request flag to 0 after switching the pin
function. Table 3.5 shows the conditions under which interrupt request flags are set to 1 in this
way.
Table 3.5
Conditions under which Interrupt Request Flag is Set to 1
Interrupt Request
Flags Set to 1
Conditions
IRR1
IRRI4
When PMR1 bit IRQ4 is changed from 0 to 1 while pin
IRQ
4
is low and IEGR bit
IEG4 = 0.
When PMR1 bit IRQ4 is changed from 1 to 0 while pin
IRQ
4
is low and IEGR bit
IEG4 = 1.
IRRI3
When PMR1 bit IRQ3 is changed from 0 to 1 while pin
IRQ
3
is low and IEGR bit
IEG3 = 0.
When PMR1 bit IRQ3 is changed from 1 to 0 while pin
IRQ
3
is low and IEGR bit
IEG3 = 1.
IRREC2
When an edge as designated by AIEGS1 and AIEGS0 in AEGSR is detected
because the values on the IRQAEC pin and of IECPWM at switching are different
(e.g., when the rising edge has been selected and ECPWME in AEGSR is changed
from 1 to 0 while pin IRQAEC is low and IECPWM = 1).
IRRI1
When PMRB bit IRQ1 is changed from 0 to 1 while pin
IRQ
1
is low and IEGR bit
IEG1 = 0.
When PMRB bit IRQ1 is changed from 1 to 0 while pin
IRQ
1
is low and IEGR bit
IEG1 = 1.
IRRI0
When PMR2 bit IRQ0 is changed from 0 to 1 while pin
IRQ
0
is low and IEGR bit
IEG0 = 0.
When PMR2 bit IRQ0 is changed from 1 to 0 while pin
IRQ
0
is low and IEGR bit
IEG0 = 1.