EasyManua.ls Logo

ST STM32F405

ST STM32F405
1749 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
USB on-the-go full-speed (OTG_FS) RM0090
1340/1749 RM0090 Rev 18
g) In response to the XFRC interrupt, de-allocate the channel for other transfers
h) Handling non-ACK responses
Figure 398. Normal bulk/control OUT/SETUP and bulk/control IN transactions
The channel-specific interrupt service routine for bulk and control OUT/SETUP
transactions is shown in the following code samples.
Interrupt service routine for bulk/control OUT/SETUP and bulk/control IN
transactions
a) Bulk/Control OUT/SETUP
Unmask (NAK/TXERR/STALL/XFRC)
if (XFRC)
{
A
C
K
HostApplication DeviceAHB USB
O
U
T
D
A
T
A
0
M
P
S
1
MPS
1
MPS
write_tx _fifo
(ch_1)
init_reg(ch_1)
set _ch_en
(ch_2)
init_reg(ch_2)
write_tx _fifo
(ch_1)
set _ch_en
(ch_2)
ch_2
ch_2
ch_1
ch_1
De-allocate
(ch_1)
I
N
ch_2
ch_2
ch_2
ch_1
A
C
K
O
U
T
set _ch_en
(ch_2)
Non-Periodic Request
Queu e
Assume that this queue
can hold 4 entries.
4
1
6
A
C
K
D
A
T
A
0
I
N
A
C
K
read_rx_sts
read_rx_fifo
1
MPS
set _ch_en
(ch_2)
1
MPS
read_rx_stsre
ad_rx_fifo
read_rx_sts
Disable
(ch_2)
1
2
3
4
5
6
7
De-allocate
(ch_2)
CHH interruptr
ch_2
2
3
5
7
8
9
12
13
read_rx_sts
10
11
D
A
T
A
1
M
P
S
D
A
T
A
1
ai15675
RXFLVL interrupt
XFRC interrupt
RXFLVL interrupt
RXFLVL interrupt
RXFLVL interrupt
XFRC interrupt

Table of Contents

Related product manuals