Problema de voltaje de salida de entrada en el kit de inicio PIC32 y la tarjeta de expansión IO

2

Tengo un PIC32 Ethernet Starter kit y IO expansion board . He creado un programa de salida de entrada simple en el que si PINC2 es alto, entonces PINC1 high en caso contrario. Tengo un circuito que me da un voltaje de salida de 3.3v y estoy aplicando este voltaje como entrada a PINC2 . Pero hay un problema de voltaje en PINC1 .

Cuando PINC2 es bajo, el voltaje en PINC1 = 3.276v

Cuando PINC2 es alto, el voltaje en PINC1 = 2.8-2.9

Mi pregunta es cuando el voltaje en PINC2 es bajo, por qué el voltaje en PINC1 es 3.276v, debería ser 0volts. y cuando el voltaje en PINC2 es alto, por qué el voltaje en PINC1 es 2.8-2.9v, debe ser 3.276v. Estoy realmente confundido en esto. Por favor ayuda

CÓDIGO:

int main() 
{

   TRISCbits.TRISC1=0; //output
   TRISCbits.TRISC2=1; //input
   while(1)
   {

       if(PORTCbits.RC2==1) 
       {

          PORTCbits.RC1=1; 
       }
       else if(PORTCbits.RC2==0)
       {

          PORTCbits.RC1=0; 
       }
   }
}

Enlace al circuito que proporciona una salida de 3.3v

    
pregunta Aircraft

1 respuesta

1

Además de su configuración TRISC, es posible que deba borrar el registro ANSC. Esto establece el puerto en modo didital y deshabilita las funciones analógicas del pin. No mencionó el modelo PIC exacto, por lo que no puedo verificar la funcionalidad exacta de RC1. Encontré esto una vez cuando configuré un pin como entrada UART pero la entrada nunca leyó el Rx digital porque estaba configurado como un pin analógico. Además, verificaría todas las demás funciones de RC2 y configuraría todas esas funciones como deshabilitadas (por ejemplo, ADC).

    
respondido por el Ulminpoika

Lea otras preguntas en las etiquetas