SoloCodigo

Programación Específica => Microcontroladores => Programación en C => Mensaje iniciado por: Guito en Domingo 1 de Octubre de 2006, 23:49

Título: Por Favor Ayuda
Publicado por: Guito en Domingo 1 de Octubre de 2006, 23:49
Código: Text
  1.  
  2.  
  3. #bit Sal_C5 = PORTC.5
  4.  
  5. while(true){
  6.  
  7.       if(input(PIN_A0))
  8.         output_high(PIN_C5);
  9.  
  10.  
  11.       if(input(PIN_A1))
  12.         output_low(PIN_C5);
  13.      
  14.        
  15.       if(sal_C5)
  16.         output_high(PIN_C4);
  17.       }
  18.  
  19.  
  20.  

cuando enciendo el micro, se enciende directamente la salida C5, sin importar el estadod de las entradas. Las entradas tienen pull dwn externo. Cuando llevo el pin A1a 1, se apaga la salida C5 pero al soltarlo vuelve a encenderse. Todo esto sin presionar A0.
Ayuda por favor!!! estoy haciendo un proyecto y se me acaba el tiempo!!!
Título: Re: Por Favor Ayuda
Publicado por: Huguen_aus_Tirol en Lunes 2 de Octubre de 2006, 07:56
Hola!
Usas un micro con conversor AD? asegurate de configurar bien los pines, por defecto RA esta configurado para el AD...
Saludos
Título: Re: Por Favor Ayuda
Publicado por: Guito en Lunes 2 de Octubre de 2006, 08:28
despues de renegar varios días con esto, llegar a pensar cualquier delirio, hice una rutina mínima en asm que no podía fallar, pero sin embargo no me andaba. Hasta que me di cuenta cual era la burrada que estaba haciendo, para probar las salidas estaba conectando a los puertos unos led, sin resistencia, por lo que el led se encendía cuando ponía en 1  el bit correspondiente pero cuando metía ese bit en un IF lo leía como que estaba en cero, y que la tensión del puerto era la del led. Les puse una resistencia y problema solucionado.
Saludos.
Guillermo.