Autor Tema: Solo puedo tener una salida activa a la vez, ayuda!  (Leído 2409 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Lainus

  • PIC10
  • *
  • Mensajes: 4
Solo puedo tener una salida activa a la vez, ayuda!
« 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!


Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Solo puedo tener una salida activa a la vez, ayuda!
« Respuesta #1 en: 13 de Febrero de 2009, 23:27:26 »
¿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.

Desconectado Lainus

  • PIC10
  • *
  • Mensajes: 4
Re: Solo puedo tener una salida activa a la vez, ayuda!
« Respuesta #2 en: 14 de Febrero de 2009, 07:25:40 »
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.


Desconectado Lainus

  • PIC10
  • *
  • Mensajes: 4
Re: Solo puedo tener una salida activa a la vez, ayuda!
« Respuesta #3 en: 14 de Febrero de 2009, 07:36:43 »
mmm... voy a poner el codigo entero y a subir el programa en proteus. A ver...
Por que no es normal, ¿no?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Solo puedo tener una salida activa a la vez, ayuda!
« Respuesta #4 en: 14 de Febrero de 2009, 08:09:39 »
Prueba a poner entre ambas un delay_cycles(1);

Desconectado Lainus

  • PIC10
  • *
  • Mensajes: 4
Re: Solo puedo tener una salida activa a la vez, ayuda!
« Respuesta #5 en: 14 de Febrero de 2009, 09:11:57 »
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!!