TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Lainus en 13 de Febrero de 2009, 22:41:43
-
Si utilizo este codigo:
if(input (PIN_C5)){
output_high (PIN_A1);
output_high (PIN_A5);
}
Solo se queda activada la A5, ¿por que no se queda encendida la A1?
Si borro la linea output_high (PIN_A5), luego si que se queda encendida.
No hay mas codigo, solo esto...
Mil gracias!
-
¿Qué le estás conectando a las terminales?
Si las cargas en las terminales demandan más corriente de la que el puerto puede entregar, entonces algunas prenderán y otras no.
-
Un decodificador BCD tc4511bp, con la cual dudo que sea por consumo.
Me falla tanto en Proteus como en el prototipo real.
No tengo ni idea de pics, solo llevo unos dias, pero le he dedicado un monton de horas y esto me tiene perdido.
-
mmm... voy a poner el codigo entero y a subir el programa en proteus. A ver...
Por que no es normal, ¿no?
-
Prueba a poner entre ambas un delay_cycles(1);
-
Mientras simplificava el codigo para poder subirlo entero y que se entendiera...¡he encontrado el problema!!
setup_adc_ports(ALL_ANALOG)<-- Con esto, estava modificando el valor de todo el puerto!
solucion para aislar el pin ra0 como analog si modificar el resto: setup_adc_ports(sAN0|VSS_VDD)
Muchisimas gracias!!