Autor Tema: 1 condicion me funciona pero 2 no , una ayudita  (Leído 1616 veces)

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

Desconectado svirtual

  • PIC10
  • *
  • Mensajes: 2
1 condicion me funciona pero 2 no , una ayudita
« en: 24 de Octubre de 2009, 16:23:05 »
Hola Buenas, Soy nuevo por aqui y estoy empezando a programar en pic, aunque bien poco se hacer.

en primer lugar he realizado varias practicas con exito, pero muy basicas ( demasiado basicas ).

en este momento me he atascado, resulta que estoy programando un 12f629 con el siguiente codigo

Código: [Seleccionar]
AllDigital

inicio:

if GPIO.5 = 1 then
HIGH GPIO.0
ELSE
LOW GPIO.0
endif

if GPIO.4 = 1 then
HIGH GPIO.1
ELSE
LOW GPIO.1
endif

goto inicio

end

si este codigo lo hago por separado, osea solo cojo una condicion ( cualquiera de las dos ) si que me funciona , pero cuando combino las dos, los led se me quedan encendidos y no cambian de ninguna forma.

¿ alguien me hecha una mano ? Muchas gracias.

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: 1 condicion me funciona pero 2 no , una ayudita
« Respuesta #1 en: 25 de Octubre de 2009, 17:17:16 »
Cuando dices que lo has probado, te refieres a la realidad o en el simulador, ya que en el PSI si que funciona.
Y que funcione en un simulador no quiere decir que luego funcione en la realidad.
Saludos desde Granada, España.

Desconectado svirtual

  • PIC10
  • *
  • Mensajes: 2
Re: 1 condicion me funciona pero 2 no , una ayudita
« Respuesta #2 en: 25 de Octubre de 2009, 17:51:09 »
si, lo he probado en realidad, pero haber, despues de mil pruebas y al final dejarlo por unos dias ( jejejej )  resulta que me pasa lo siguiente :

si ejecuto una sola condicion
perfecto :
Código: [Seleccionar]
if gpio.2 = 1 then
lo que sea
end if

perfecto :
Código: [Seleccionar]
if gpio.5 = 1 then
lo que sea
end if

funciona muy bien

el problema esta cuando pongo las dos a la vez :
no anda, solo anda la primera condicion
Código: [Seleccionar]
if gpio.2 = 1 then
lo que sea
end if

if gpio.5 = 1 then
lo que sea
end if

aqui solo me funciona la primera , si cambio el orden pues tambien sigue funcionando la primera.

La verdad que por mas vueltas que le doy no le saco explicacion, por que no es un codigo complicado.

estoy usando microcode studio ¿ puede ser problema del compilador ?

la verdad que del micro 12f629 que pudiera estar defectuoso, lo he descartado por que he hecho la prueba con 3 micros mas, la verdad es que ya se me acabaron las ideas y toda la ayuda sera bien recibida, de cualquier forma muchas gracias



 

anything