TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: rnelson en 14 de Enero de 2010, 19:50:23

Título: Problema con la instruccion while!!!
Publicado por: rnelson en 14 de Enero de 2010, 19:50:23
Ante todo un cordial sludos a todos los foreros.

Les escribo porque se me esta presentando un problema con la instruccion WHILE, el codigo es el siguiente:
Código: [Seleccionar]

While Porta.1 = 0 OR Porta.2 = 0
high  Portb.1
Wend
Low  Portb.1


El tema es que no me funciona con las dos condiciones (While Porta.1 = 0 OR Porta.2 = 0), solo funciona con una condicion (While Porta.1 = 0).
De pronto hay una manera deiferente de hacerlo pero no la se, por favor si hay alguien que me pued orientar se los agradezco.

Saludos..
Título: Re: Problema con la instruccion while!!!
Publicado por: dogflu66 en 14 de Enero de 2010, 20:25:42
En PSI funciona (siempre y cuando defina los pin) pero cuando RA1 = RA2= 1 termina el programa.

AllDigital  'Todos lon pin digitales
TRISA.1 = 1  'Como entrada
TRISA.2 = 1  'Como entrada
TRISB.1 = 0  'Como salida

  While PORTA.1 = 0 Or PORTA.2 = 0
    High PORTB.1
  Wend
  Low PORTB.1

A mi me gusta mejor de esta otra manera:

AllDigital  'Todos lon pin digitales
TRISA.1 = 1  'Como entrada
TRISA.2 = 1  'Como entrada
TRISB.1 = 0  'Como salida

main:

  While PORTA.1 = 0 Or PORTA.2 = 0
    High PORTB.1
  Wend
  Low PORTB.1

Goto main
End 
Título: Re: Problema con la instruccion while!!!
Publicado por: rnelson en 14 de Enero de 2010, 21:11:55
Gracias Dog.

que es Psi???, la instruccion while funciona pero solo si lo coloco con una condicion, ej: while Porta.1 = 0, si le coloco las dos condiciones no me hace ni una ni la otra.

voy a probar como dices a ver, yo uso como compilador el PBP y microcode.
Título: Re: Problema con la instruccion while!!!
Publicado por: dogflu66 en 14 de Enero de 2010, 21:25:12
Por eso es conveniente al preguntar indicar que versión de Basic se está utilizando.
Esta es el Basic del PSI. Los lenguajes Basic tienen sus pequeñas diferencias entre sí. A ver si alguien que utilice habitualmente el mismo que el tuyo te puede ayudar.
Título: Re: Problema con la instruccion while!!!
Publicado por: Strepto en 15 de Enero de 2010, 10:53:43
Has probado a escribir: While (Porta.1 = 0 OR Porta.2 = 0) ¿?

Un saludo!
Título: Re: Problema con la instruccion while!!!
Publicado por: rnelson en 27 de Enero de 2010, 10:36:24
Gracias Strepto.

No he probado de esa manera, lo voy a hacer y les cuento como me fue.


Saludos
Título: Re: Problema con la instruccion while!!!
Publicado por: janiro74 en 28 de Enero de 2010, 18:50:21
compañero yo he compilado estas lineas con el compilador de basic de pic simulator ide y funciona bien
he colocado la etiqueta main: y la linea goto main por si quieres que el programa inicie la gestion de la siquacion de poner a 0 la portb.1 cuando porta.1 "y" porta.2 esten en 1
 
supongo que habras definido los puertos de entrada y salida con el tegistro TRIS

TRISA = 255
TRISB = 0
main:
While PORTA.1 = 0 Or PORTA.2 = 0
High PORTB.1
Wend
Low PORTB.1
Goto main


te adjunto el hex por si quieres simularlo con pic simulator ide
saludos