Mientras el PIC que esté utilizando tenga un puerto "On-The-Go" (por ejemplo, todos los chips PIC32 con USB están On-The-Go), entonces lo que está proponiendo es factible.
El puerto USB proporciona un pin llamado "USBID". En los puertos USB Micro AB hay 5 pines. El pin 4 es el pin USBID (entre D + y GND) y el chip lo utiliza para saber si se supone que actúa como host:
Un dispositivo de doble función OTG es compatible con la funcionalidad de dispositivo y host USB. Dispositivos de doble función OTG
utilice un receptáculo micro-AB. Esto permite conectar un micro-A o un micro-B. Ambos
Los enchufes micro-A y micro-B tienen un pin adicional, el pin ID, para indicar qué tipo de enchufe fue con-
nectado El tipo de enchufe conectado al receptáculo determina la función predeterminada del host o
dispositivo. Un dispositivo OTG desempeñará la función de un host cuando se detecte un conector micro-A. Cuando un
Se detecta el conector micro-B, se realiza la función de un dispositivo USB.
- PIC32 Manual section 27
Hacer un sistema completamente OTG es un proceso bastante complejo y especializado, y, a menos que ya conozcas íntimamente los modos de dispositivo y host, no estaría dispuesto a intentarlo. En su lugar, separaría los dos roles diferentes en conexiones separadas. Dedicar el USB al dispositivo de memoria USB simplifica el código de forma masiva. Enrutar las comunicaciones de la PC a través de un chip serie USB, como un FT232R, PL2303 o MCP2200, por ejemplo, significa que puede usar el simple dispositivo UART para hacer todas las comunicaciones de la PC. El tiempo de comercialización se reduce, ya que no tiene que aprender todo sobre USB OTG, y también le da la ventaja de que puede tener el USB MSD conectado al mismo tiempo que la conexión a la PC está activa.