Este es un controlador de dispositivo compuesto de ejemplo para el bloque de dispositivo USB del microcontrolador LPX134x. Un dispositivo compuesto es un dispositivo con múltiples interfaces que se controlan de forma independiente entre sí. Este dispositivo contiene una interfaz independiente.
- Dispositivo COM virtual (CDC/ACM)
- dispositivo de almacenamiento masivo
Código de función
El código para este controlador de muestra es muy simple. Contiene una función principal con un bucle infinito y una colección de rutinas de soporte de biblioteca que implementan una pila básica de dispositivos USB y brindan soporte para las clases de dispositivos CDC/ADM y MSD.
La función principal realiza una inicialización única de la pila USB y las clases antes de ingresar a un bucle que procesa los caracteres a través del canal de comunicación. Toda la actividad de almacenamiento masivo y TX/RX de caracteres está impulsada por interrupciones. Los controladores de lectura y escritura de almacenamiento masivo solo funcionan con búferes de RAM de 4K. El flash interno del dispositivo no se usa en este ejemplo.
descriptor de dispositivo
Un descriptor de dispositivo describe información general sobre un dispositivo. Los campos clave de este descriptor que definen este dispositivo como compuesto son la clase, la subclase y el protocolo del dispositivo. Estos tres campos normalmente no se rellenan con ceros como ocurre con los dispositivos compuestos porque el descriptor de configuración contiene el descriptor IAD.