IF
– Referencia de Lenguaje Spin
Indentacion es Critica
IMPORTANTE: La indentacion es critica. El lenguaje Spin usa la indentacion (de un espacio
o mas) de líneas que siguen instrucciones condicionales para determinar si corresponden a la
instrucción o no. Para ver estos bloques de código lógicamente agrupados puede presionar
Ctrl + I para ver los indicadores de grupos. Con Ctrl + I nuevamente deshabilitara la pantalla.
Vea la ayuda en la herramienta Propeller para una lista completa de accesos rápidos.
instrucción Simple IF
La forma mas común de la instrucción condicional
en verdadera. Esto se escribe como una instrucción
indentadas de código. Por ejemplo:
if X > 10
!outa[0]
!outa[1]
Este ejemplo prueba si
no es verdadera el pin de E/S se cambia en la siguiente instrucción.
!outa[0]
Como la línea
ejecuta solo si la condición
IF
la línea
, por lo tanto se ejecuta aun cuando la condición
versión del mismo ejemplo:
if X > 10
!outa[0]
!outa[1]
waitcnt(2_000 + cnt)
Este ejemplo es muy similar al primero excepto que ahora las dos líneas de código están
indentadas de la instrucción
cambia y finalmente se ejecuta la línea
!outa[0]
las líneas
y
IfStatement(s)) y se ejecuta la línea
IfStatement(s)).
Combinando Condiciones
El campo Condition(s) se evalúa como una condición booleanas simple, pero puede hacerse
de mas de una expresión booleanas al combinarla con los operadores
172. Por ejemplo:
Pagina 116 · Manual Propeller v1.1
'Si X es mayor que 10
'cambia P0
'cambia P1
X
es mayor que 10; si es, el pin E/S se cambia. Aun si la condición
esta indentada de la línea
IF
es verdadera. La siguiente línea
'si X es mayor que 10
'cambia P0
'cambia P1
'espera 2,000 ciclos
IF
. En este caso si
waitcnt
!outa[1]
se brincan (como están indentadas son parte del bloque
waitcnt
(como no esta indentada no es parte del bloque
IF
desarrolla una acción si una condición
IF
seguida por uno o mas líneas
IF
, pertenece al bloque IfStatement(s) y se
!outa[1]
IF
sea o no verdadera. Esta es otra
X
es mayor que 10, P0 cambia, luego P1
X
. Si por el contrario,
AND
IF
no esta indentada de
no fue mayor que 10,
OR
y
; ver Pág. 171-