RM0090
Mask ACK
Unmask CHH
Disable Channel
if (STALL)
}
else
if (NAK or TXERR)
else
else
The application is expected to write the data packets into the transmit FIFO when the
space is available in the transmit FIFO and the Request queue up to the count
specified in the MCNT field before switching to another channel. The application uses
the NPTXFE interrupt in OTG_HS_GINTSTS to find the transmit FIFO space.
b)
Unmask (NAK/TXERR/XFRC/BBERR/STALL/FRMOR/DTERR)
if (XFRC)
{
Reset Error Count
Mask ACK
if (OTG_HS_HCTSIZx.PKTCNT == 0)
{
De-allocate Channel
}
else
{
{
Transfer Done = 1
}
{
Rewind Buffer Pointers
Reset Error Count
Mask ACK
Unmask CHH
Disable Channel
}
if (CHH)
{
Mask CHH
if (Transfer Done or (Error_count == 3))
{
De-allocate Channel
}
else
{
Re-initialize Channel (in next b_interval - 1 Frame)
}
}
if (ACK)
{
Reset Error Count
Mask ACK
}
Interrupt IN
DocID018909 Rev 11
USB on-the-go high-speed (OTG_HS)
1489/1731
1529
Need help?
Do you have a question about the STM32F405 and is the answer not in the manual?
Questions and answers