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.

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

RM0008<br />

OTG_FS device endpoint-x interrupt register (OTG_FS_DIEPINTx) (x = 0..3,<br />

where x = Endpoint_number)<br />

Address offset: 0x908 + (Endpoint_number × 0x20)<br />

Reset value: 0x0000 0080<br />

This register indicates the status of an endpoint with respect to USB- <strong>and</strong> AHB-related<br />

events. It is shown in Figure 268. The application must read this register when the IN<br />

endpoints interrupt bit of the Core interrupt register (IEPINT in OTG_FS_GINTSTS) is set.<br />

Before the application can read this register, it must first read the Device all endpoints<br />

interrupt (OTG_FS_DAINT) register to get the exact endpoint number for the Device<br />

endpoint-x interrupt register. The application must clear the appropriate bit in this register to<br />

clear the corresponding bits in the OTG_FS_DAINT <strong>and</strong> OTG_FS_GINTSTS registers.<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

Reserved<br />

TXFE<br />

r<br />

INEPNE<br />

rc_<br />

w1<br />

/rw<br />

Reserved<br />

ITTXFE<br />

rc_<br />

w1<br />

TOC<br />

rc_<br />

w1<br />

Reserved<br />

EPDISD<br />

rc_<br />

w1<br />

XFRC<br />

rc_<br />

w1<br />

Bits 31:8 Reserved<br />

Bit 7 TXFE: Transmit FIFO empty<br />

This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty.<br />

The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core<br />

AHB Configuration register (TXFELVL bit in OTG_FS_GAHBCFG).<br />

Bit 6 INEPNE: IN endpoint NAK effective<br />

This bit can be cleared when the application clears the IN endpoint NAK by writing to the<br />

CNAK bit in OTG_FS_DIEPCTLx.<br />

This interrupt indicates that the core has sampled the NAK bit set (either by the application or<br />

by the core). The interrupt indicates that the IN endpoint NAK bit set by the application has<br />

taken effect in the core.<br />

This interrupt does not guarantee that a NAK h<strong>and</strong>shake is sent on the USB. A STALL bit<br />

takes priority over a NAK bit.<br />

Bit 5 Reserved<br />

Bit 4 ITTXFE: IN token received when TxFIFO is empty<br />

Applies to non-periodic IN endpoints only.<br />

Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic)<br />

was empty. This interrupt is asserted on the endpoint for which the IN token was received.<br />

Bit 3 TOC: Timeout condition<br />

Applies only to Control IN endpoints.<br />

Indicates that the core has detected a timeout condition on the USB for the last IN token on<br />

this endpoint.<br />

Bit 2 Reserved.<br />

Bit 1 EPDISD: Endpoint disabled interrupt<br />

This bit indicates that the endpoint is disabled per the application’s request.<br />

770/995 Doc ID 13902 Rev 9

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

Saved successfully!

Ooh no, something went wrong!