At8xc51snd1c – Rainbow Electronics AT89C51SND1C User Manual
Page 85

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