Aparentemente, una de las razones principales por las que la mayoría de los uC de 8 bits / 16 bits no son compatibles con el modo de host USB es el proceso bastante costoso llamado "enumeración". Según mi investigación, este paso parece ser necesario cuando el host debe identificar la clase de dispositivo conectado a él, identificar un proveedor / dispositivo específico y luego cargar el controlador apropiado para manejar la comunicación entre el procesador host y el dispositivo. La otra razón es la necesidad de proporcionar suficiente corriente a los dispositivos.
Ahora, si la "corriente suficiente" no es un gran problema, digamos porque mi uC (que me gustaría actuar como host USB) está alimentado (a través de un Wallwart regulado y bien calificado), y solo hay 3 Dispositivos USB con los que necesita trabajar, por ejemplo,
- Dispositivo que utiliza Serial over USB propietario
- Dispositivo (sensor) que utiliza USB-HID
- dispositivo / proveedor específico USB2.0 Bluetooth2.1 dispositivo
a través de decir un dispositivo concentrador USB? De hecho, si puede ser un concentrador eléctrico, entonces la cuestión de "suficiente corriente" se aborda por él.
¿Es posible conformarse con decir algo como Atmel ATmega32U2? La idea es que, en lugar de enumerar dispositivos de una gran lista de posibles dispositivos, sé de antemano qué dispositivos están conectados y cómo están conectados. ¿Cuáles podrían ser las advertencias si esto fuera posible? Si alguien está al tanto de estos intentos (exitosos o no), me encantaría escuchar sobre ellos.