Estoy tratando de entender cómo operar los pines digitales configurados como salidas de drenaje abierto en una pic32. Como he leído en otros foros, configurar TRISx en 0 y ODCx en 1 configura el pin como salida de drenaje abierto, y escribir 1 en LATx hará que la salida sea alta-Z (w / pullup resistor) y escribir 0 lo hará bajo.
Fuente: enlace
Si tiene una salida de drenaje abierto real, puede mantener TRIS bajo y controlar el transistor con LAT. LAT = 0 = > el transistor se cerró a tierra y la salida será baja, LAT = 1 = > el transistor abierto y la salida estarán flotando o sujetados en alto con una resistencia (o bajada por otra señal).
En lo que estoy atrapado es en esta parte del diagrama para los pines:
Del manual de referencia del puerto IO de PIC32
¿Qué hace ODCx si TRISx se establece en 0? La salida del multiplexor controlado por ODCx será baja sin importar qué, ya que es TRISx o (TRISx AND 'LATx), que siempre será 0 cuando TRISx sea 0.