At8xc51snd1c – Rainbow Electronics AT89C51SND1C User Manual

Page 85

Advertising
background image

85

AT8xC51SND1C

4109E–8051–06/03

Endpoint enable

Before using an endpoint, this must be enabled by setting the EPEN bit in the UEP-
CONX register.

An endpoint which is not enabled won’t answer to any USB request. The Default
Control Endpoint (Endpoint 0) should always be enabled in order to answer to USB
standard requests.

Endpoint type configuration

All Standard Endpoints can be configured in Control, Bulk, Interrupt or Isochronous
mode. The Ping-pong Endpoints can be configured in Bulk, Interrupt or Isochronous
mode. The configuration of an endpoint is performed by setting the field EPTYPE
with the following values:

Control:

EPTYPE = 00b

Isochronous: EPTYPE = 01b

Bulk:

EPTYPE = 10b

Interrupt:

EPTYPE = 11b

The Endpoint 0 is the Default Control Endpoint and should always be configured in
Control type.

Endpoint direction configuration

For Bulk, Interrupt and Isochronous endpoints, the direction is defined with the
EPDIR bit of the UEPCONX register with the following values:

IN:

EPDIR = 1b

OUT:

EPDIR = 0b

For Control endpoints, the EPDIR bit has no effect.

Summary of Endpoint Configuration:

Do not forget to select the correct endpoint number in the UEPNUM register before
accessing endpoint specific registers.

Table 89. Summary of Endpoint Configuration

Endpoint Configuration

EPEN

EPDIR

EPTYPE

UEPCONX

Disabled

0b

Xb

XXb

0XXX XXXb

Control

1b

Xb

00b

80h

Bulk-in

1b

1b

10b

86h

Bulk-out

1b

0b

10b

82h

Interrupt-In

1b

1b

11b

87h

Interrupt-Out

1b

0b

11b

83h

Isochronous-In

1b

1b

01b

85h

Isochronous-Out

1b

0b

01b

81h

Advertising