Los operadores Limite Mínimo "
Spin tiene operadores Limite Mínimo "
el valor de variables dentro de un rango deseado ya que son redefinidas por otras expresiones. En
nuestro objeto ejemplo, la segunda sentencia
que verifica el estado del botón pulsador. Si el botón P22 se presiona
if...elseif...
incrementa en 1 con
divide ++
de límite máximo. Si el resultado de
valor nuevamente a 254. Esto previene que el valor de
tiene que dividirse entre
divide
P21 se presiona en vez de P22 la variable
operador de asignación
previniendo de llegar al 0.
Después de que la sentencia
variable
si alguno de los botones se presiono se ejecuta la función
divide
para esperar un tiempo. Note que conforme
cnt)
el retraso
, que es controlado por la variable
waitcnt
outa[9..4] := pattern
que se realiza el ciclo.
Comparación entre Operaciones y Condiciones
Los operadores de comparación regresan un verdadero (-1) o falso (0). Cuando se usa en los bloques
y
el código especificado se ejecuta s la condición en no-cero. Siendo este el caso puede
if
repeat
usarse
en vez de
if ina[22]
procesamiento ya que se salta la operación de comparación.
Cuando se presiona el botón la condición en
un 1 haciendo la comparación verdadera. Usando solo
cuando se presiona el botón ya que
código se ejecute. Cuando el botón no se presiona
falso (0). En cualquiera de los casos la condición de
o
se salta.
0
if ina[22]
Cambie
if ina[22] == 1
verifique que el programa modificado todavía funciona.
Variables Locales
Mientras que todos los ejemplos de objetos en estas prácticas usan solo un método, los objetos
frecuentemente tienen más de un método y las aplicaciones típicamente son colecciones de diversos
objetos. Los métodos en las aplicaciones de paso de control de programa y parámetros opcionales van
y vienen entre otros métodos del mismo objeto y también en otros métodos en otros objetos. Para
preparar el trabajo con métodos múltiples en las siguientes prácticas veamos como un método puede
crear una variable local.
Las variables declaradas en la sección
que todos los métodos en un objeto pueden usarlas. Cada método en un objeto también puede declarar
variables locales para uso propio. Estas variables locales duran mientras se ejecuta el método. Si el
método corre fuera de sus comandos y pasa el control del programa al comando que lo llamo, el
nombre de la variable local y la memoria quedan disponibles para usarse por otras variables.
#>
" y Limite Máximo "
" y Limite Máximo "
#>
, y
está limitado a 254 con
divide
divide ++
en el comando
clkfreq
divide
se usa para asegurarse que
#>=
...
... verifica el estado del botón y decrementa o incrementa la
if
elseif
. Por último la variable
if ina[22] == 1
if ina[22] == 1
almacena 1, el cual es no-cero, haciendo que el bloque de
ina[22]
...
elseif ina[21] == 1
de un objeto son globales para el objeto, lo que significa
VAR
Kit Educativo de Practicas Propeller: Fundamentos · Página 63
4: Práctica básica de E/S y tiempo
<#
"
" que pueden usarse para mantener
<#
en el ciclo
if
repeat
, la forma de asignar el operador
<#=
es 255 la siguiente línea
pase a 0 lo cual es importante porque
divide
posteriormente en el ciclo
waitcnt
se decrementa con
, la cual resta 1 de
--
nunca será menor que 1, nuevamente
divide
es mayor
divide
waitcnt
,
divide
pattern
se mueve a la derecha en 1 la siguiente vez
pattern
. El código funciona igual pero con menos
regresa un -1 ya que
aun se ejecuta el bloque de código
if ina[22]
almacena un 0 y
ina[22]
es 0 así que el código debajo de
if
a
if ina[22]
es parte de una sentencia
divide
reduce su
divide <#= 254
repeat
divide
waitcnt(clkfreq/divide +
es menor. Después de que
se almacena en
outa
almacena
ina[22]
regresa un
ina[22] == 1
if ina[22] ==
...
..., y
elseif ina[21]
se
. Si
. El
con