TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado 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:
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..
-
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
-
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.
-
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.
-
Has probado a escribir: While (Porta.1 = 0 OR Porta.2 = 0) ¿?
Un saludo!
-
Gracias Strepto.
No he probado de esa manera, lo voy a hacer y les cuento como me fue.
Saludos
-
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