SN8F2250B Series
USB 2.0 Full-Speed 8-Bit Micro-Controller
6.12 WAKEUP INTERRUPT OPERATION
When the I/O port 1 or I/O port 0 wakeup the MCU from the sleep mode, the WAKEIRQ will be set to “1” no matter the
WAKEIEN is enable or disable. If the WAKEIEN and the trigger event WAKEIRQ is set to be “1”. As the result, the
system will execute the interrupt vector. If the WAKEIEN = 0, the trigger event WAKEIRQ is still set to be “1”.
Moreover, the system won’t execute interrupt vector. Users need to be cautious with the operation under multi-interrupt
situation.
¾
Example: WAKE interrupt request setup.
B0BCLR
B0BCLR
B0BSET
FWAKEIEN
FWAKEIRQ
FWAKEIEN
; Disable WAKE interrupt service
; Clear WAKE interrupt request flag
; Enable WAKE interrupt service
…
…
; Pin WAKEUP initialize.
; Pin WAKEUP operation.
B0BSET
FGIE
; Enable GIE
Example: WAKE interrupt service routine.
ORG
JMP
8
; Interrupt vector
INT_SERVICE
INT_SERVICE:
PUSH
; Push routine to save ACC and PFLAG to buffers.
B0BTS1
JMP
FWAKEIRQ
EXIT_INT
; Check WAKEIRQ
; WAKEIRQ = 0, exit interrupt vector
B0BCLR
FWAKEIRQ
; Reset WAKEIRQ
…
; WAKE interrupt service routine
…
EXIT_INT:
POP
RETI
; Pop routine to load ACC and PFLAG from buffers.
; Exit interrupt vector
SONiX TECHNOLOGY CO., LTD
Page 67
Version 1.1