SN8F2250B Series
USB 2.0 Full-Speed 8-Bit Micro-Controller
6.11 USB INTERRUPT OPERATION
When the USB process finished, the USBIRQ will be set to “1” no matter the USBIEN is enable or disable. If the
USBIEN and the trigger event USBIRQ is set to be “1”. As the result, the system will execute the interrupt vector. If
the USBIEN = 0, the trigger event USBIRQ 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: USB interrupt request setup.
B0BCLR
B0BCLR
B0BSET
FUSBIEN
FUSBIRQ
FUSBIEN
; Disable USB interrupt service
; Clear USB interrupt request flag
; Enable USB interrupt service
…
…
; USB initializes.
; USB operation.
B0BSET
FGIE
; Enable GIE
Example: USB interrupt service routine.
ORG
JMP
8
; Interrupt vector
INT_SERVICE
INT_SERVICE:
PUSH
; Push routine to save ACC and PFLAG to buffers.
B0BTS1
JMP
FUSBIRQ
EXIT_INT
; Check USBIRQ
; USBIRQ = 0, exit interrupt vector
B0BCLR
FUSBIRQ
; Reset USBIRQ
…
; USB interrupt service routine
…
EXIT_INT:
POP
RETI
; Pop routine to load ACC and PFLAG from buffers.
; Exit interrupt vector
SONiX TECHNOLOGY CO., LTD
Page 66
Version 1.1