Hola, el problema que tengo es que intento leer la señal que proviene de un fotodiodo receptor, lo tengo conectado a un disparador de Schmitt TTL, es decir que la salida obtenida son 5v 25mA si se tapa el fotodiodo o 0 V si se deja al descubierto.El problema viene cuando conecto la salida del disparador a el puerto del micro, que miro con el osciloscopio y ya el disparador de Schmitt no llega a los 5 V sino que se queda en menos de 1V, Con lo cual el led que tengo conectado en otro puerto no se enciende.Tengo conectada una resistencia a tierra en la pata del micro que lee la señal proveniente del disparador para eliminar los posibles rebotes que se produzcan en las transiciones.No se que puede estar fallando. El código es el siguiente:
#include <p18F252.h>
#include <delays.h>
#include <timers.h>
//---------Directivas de configuración----
#pragma config OSC = HSPLL, OSCS = OFF
#pragma config PWRT = OFF
#pragma config BOR = OFF
#pragma config WDT = OFF
#pragma config CCP2MUX = OFF
#pragma config LVP = OFF
void main (void){
TRISA=0XFF; //Puerto A configurado como entrada
TRISC=0X00; //Puerto C configurado como salida
TRISB=0X00;
LATCbits.LATC4=0; //apago el led si está encendido
while (1){
if (PORTBbits.RB4)
{
LATCbits.LATC4=1;
}//IF
else{
LATCbits.LATC4=0;
}
}
}//WHILE