29.01.2015 Views

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

RM0008<br />

USB on-the-go full-speed (OTG_FS)<br />

Mask ACK<br />

}<br />

else if (TXERR or BBERR or STALL)<br />

{<br />

Unmask CHH<br />

Disable Channel<br />

if (TXERR)<br />

{<br />

Increment Error Count<br />

Unmask ACK<br />

}<br />

}<br />

else if (CHH)<br />

{<br />

Mask CHH<br />

if (Transfer Done or (Error_count == 3))<br />

{<br />

De-allocate Channel<br />

}<br />

else<br />

{<br />

Re-initialize Channel<br />

}<br />

}<br />

else if (ACK)<br />

{<br />

Reset Error Count<br />

Mask ACK<br />

}<br />

else if (DTERR)<br />

{<br />

Reset Error Count<br />

}<br />

The application is expected to write the requests as <strong>and</strong> when the Request queue space is<br />

available <strong>and</strong> until the XFRC interrupt is received.<br />

●<br />

Bulk <strong>and</strong> control IN transactions<br />

A typical bulk or control IN pipelined transaction-level operation is shown in Figure 273.<br />

See channel 2 (ch_2). The assumptions are:<br />

– The application is attempting to receive two maximum-packet-size packets<br />

(transfer size = 1 024 bytes).<br />

– The receive FIFO can contain at least one maximum-packet-size packet <strong>and</strong> two<br />

status DWORDs per packet (72 bytes for FS).<br />

– The non-periodic request queue depth = 4.<br />

Doc ID 13902 Rev 9 799/995

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!