Interrupt Service Routine (ISR) Flowcharts
13-107
USB Function Module
Figure 13–29. Read Non-Isochronous RX FIFO Data Flowchart
Read non-ISO RX
FIFO data
Read byte from DATA
register (RX FIFO).
RXbyte
= 0?
Place byte in
application’s RX buffer.
DecrementRXbyte
counter.
Update application’s
RX buffer counter.
End of read non-ISO
RX FIFO data
STAT_FLG.
non_ISO FIFO
_Empty = 1?
Yes
No
A
A
Yes
Inform
application of
completion of
endpoint’s RX
transaction.
STAT_FLG.
Non_ISO_FIFO
_Full
= 1?
Set RXbyte counter
to EP buffer size.
Yes
Read received bytes
count in
RXFSTAT.RXF_Count.
Set RXbyte counter
to RXF_Count value.
No
No
EPn_RX.EPn_RX_
Size or DB
= 1?
Set FIFO not full and DB
to 1.
Yes
No
EPn_RX.EPn_RX_
Size or DB
= 1?
Set FIFO not full and DB
to 1.
Yes
No