TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: c4_esp_VR en 21 de Octubre de 2009, 04:39:07
-
Hola compañeros:
Estoy sorprendido de que no soy capaz adquirir la entrada en un pic de la serie 16 de microchip y CCS...la verdad es la primera vez que manejo la serie 16 (la 18 ya le he dado caña algún tiempo), por eso mismo no quiero vivir...que está pasando a este programa de 4 líneas de código que no funciona.
#include <16F777.h>
#fuses INTRC_IO, NOWDT
#use delay(clock=4000000)
#USE fast_IO (A)
//PROGRAMA PRINCIPAL
void main(void) {
set_tris_a(0x01); //RA1 salida, resto entradas
output_low(PIN_B1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
enable_interrupts(global);
delay_ms(50);
while( true )
{
if (input(PIN_A0)==1) //Si RA0 es 1 apagamos el led
{
output_low(PIN_A1);
}
else
{
output_low(PIN_A1);
delay_ms(500);
output_high(PIN_A1);
delay_ms(500);
}
}//Fin while(TRUE)
}//Fin main(void)
Que esá ocurriendo, mantenga o no pulsado el botón...el led siempre está parpadeando...es como si no hiciese caso a la entrada del botón...seguro que es una tontería, pero no sé que puede ser...Comentar que lo estoy simulando en Proteus...
Os adjunto el esquemático.
Muchas gracias compañeros.
-
Prueba a poner el set_tris después de apagar el ADC.
-
Prueba a poner el set_tris después de apagar el ADC.
Nada Nocturno, lo he intentado poner en todas partes y nada...sigue igual...
Os adjunto el proyecto entero para que nos sea más fácil encontrar el error.
Gracias.
-
Ya he encontrado el error...dios...matenme...no quiero vivir más...cuanto tiempo malgastado de mi vida...aaaaaarrrrrgggggghhhhhhhhh
Resulta que en el proteus tengo puesto el pic 16f877 y en el código tengo puesto el 16f777 que no son lo mismo,noooooooooooo...esto lo hice ya que el proteus no tiene éste último y se me había olvidado que realizé dicho cambio... :5] :5] :5] Estoy enfadado conmigo mismo...esta noche me fustigo :D :D :D
Un saludete y gracias compañeros.
-
ESo le pasa a cualquiera :D
Ese pic trae 3 pwm por hardware seria bueno para utilizarlo para manejar led RGB :mrgreen:
Saludos