Compartir a través de


Características del canal de control

El canal de control del dispositivo es su punto de conexión de control USB. Se envía un mensaje de control desde el host al dispositivo como una transferencia de SEND_ENCAPSULATED_COMMAND. Esta transferencia se define en la tabla siguiente.

BmRequestType bRequest wValue Windex wLength data

0x21

0x00

0x0000

Campo bInterfaceNumber del descriptor de interfaz de clase de comunicación

Longitud de bytes del bloque de mensajes de control

Bloque de mensajes de control

El host no sondea continuamente el punto de conexión de control USB para los mensajes de control de entrada. Al colocar un mensaje de control en su punto de conexión control, el dispositivo debe devolver una notificación en el punto de conexión De interrupción in de la interfaz de clase de comunicación, que sondea el host cada vez que el dispositivo puede devolver mensajes de control. La transferencia desde el punto de conexión IN de interrupción del dispositivo al host es una transferencia estándar de interrupción USB IN. La única notificación de dispositivo definida es la notificación de RESPONSE_AVAILABLE, definida en la tabla siguiente.

Desplazamiento (bytes) Longitud (bytes) Campo Datos

0

4

notificación

RESPONSE_AVAILABLE (0x00000001)

4

4

Reservado

0

Al recibir la notificación de RESPONSE_AVAILABLE, el host lee el mensaje de control del punto de conexión control mediante una transferencia de GET_ENCAPSULATED_RESPONSE, definida en la tabla siguiente.

bmRequestType bRequest wValue Windex wLength data

0xA1

0x01

0x0000

Campo bInterfaceNumber del descriptor de interfaz de clase de comunicación

0x0400 (esta es la longitud mínima de bytes del búfer publicado por el host)

Bloque de mensajes de control

Si, por algún motivo, el dispositivo recibe un GET_ENCAPSULATED_RESPONSE y no puede responder con datos válidos en el punto de conexión de control, debe devolver un paquete de un byte establecido en 0x00, en lugar de detener el punto de conexión de control.