Práctica básica de E/S y tiempo
Operaciones en Posiciones y Pre – Post Posiciones de Operadores
(11 formas diferentes de contar hasta 20)
El comando
outa[9..4]++
justo dentro de las condiciones del comando
un ejemplo que cuenta hasta 20 sin incrementar
.
repeat
'' Archivo: IncrementUntilCondition.spin
PUB BlinkLeds
dira[4..9]~~
repeat until outa[9..4]++ == 19
waitcnt(clkfreq/2 + cnt)
repeat
outa
dira
y
inician en cero cuando comienza el programa, así que no se necesita incluir outa[9..4]~
Cargue IncrementUntilCondition.spin en el Propeller y verifique que cuenta hasta 20.
Note que el ciclo se repite hasta 19 pero el programa de cuenta hasta 20. Otra forma de usar
condición del ciclo
repeat
repeat until ++outa[9..4] == 20
Modifique el comando
. Verifique que aun para al contar hasta 20.
++outa[9..4] == 20
Cuál es la diferencia? Si
Incremento y la operación se desarrolla antes de evaluar la condición
"
" puesto a la izquierda se llama Pre-Decremento). Igualmente si
--
, se llama típicamente Post-Incremento o Post-Decremento y la operación se desarrolla
outa[9..4]
después de evaluar la condición.
Con
repeat until outa[9..4]++ == 19
0, 1, 2...19. Cuando
outa[9..4]
incremento sucede después de evaluar la condición otro uno se agrega al
ciclo no se repite de nuevo.
Con
repeat until ++outa[9..4] == 20 el ciclo se pre-incrementa
sucede hasta después de que
3 y así hasta 19. Cuando outa[9..4] se convierte en 20 el comando ya no se ejecuta por lo
que el ultimo valor en tiene un 20.
En vez de repetir hasta que una condición es verdadera un ciclo se puede repetir mientras una
condición es verdadera. Aquí hay ejemplos de conteos hasta 20 usando la condición
operadores Post y Pre Incrementos sumando 1 a
Pagina 58 · Kit Educativo de Prácticas Propeller: Fundamentos
puede removerse del bloque de código en el ciclo
repeat
es ponerlo antes de
outa[9..4]
del objeto IncrementUntilCondition con esta condición hecha
repeat
se pone a la izquierda del
++
, el ciclo de retrasa en
almacena 19, el ciclo no repite el
outa[9..4] brinca a 1. El siguiente retraso sucede después de 2,
. El objeto IncrementUntilCondition.spin muestra
con el
outa[9..4]
++
, como este:
outa[9..4]
++outa[9..4] ==
o
++
waitcnt
waitcnt
:
outa[9..4]
e incrementarse
repeat
en la condición del ciclo
.
++
, típicamente se llama Pre-
. (El operador
se coloca a la derecha de
--
cuando
almacena
outa[9..4]
. Sin embargo como post-
aun cuando el
outa[9..4]
, así que el primer retraso no
while
en la
until
con