Moviendo El Desplegado De Led - Parallax Propeller Manual Del Usuario

Kit educativo
Tabla de contenido

Publicidad

if outa[9..4] == 0
outa[9..4] := %100000
waitcnt(clkfreq/10 + cnt)
Si la condición es verdadera el bloque de código debajo (una línea en este caso) se ejecutara. De otra
forma el programa se brincara hasta el siguiente comando que este en el mismo nivel de indentacion
que la declaración
(aquí es
if

Moviendo el desplegado de LED

El siguiente objeto ejemplo ShiftRightP9toP4.spin, usa diferentes tipos de operadores para producir
eficientemente el movimiento de un patrón de luces con nuestro circuito de 6 LED.
Cargue ShiftRightP9toP4 en la RAM del chip Propeller.
Oriente su plataforma para que parezca que las luces se mueven de izquierda a derecha una y
otra vez.
Verifique que el patrón empieza en P9 y termina en P14 antes de repetir.
'' Archivo: ShiftRightP9toP4.spin
'' Demuestra el operador de movimiento a la derecha y la declaración if
PUB ShiftLedsLeft
dira[9..4] ~~
repeat
if outa[9..4] == 0
outa[9..4] := %100000
waitcnt(clkfreq/10 + cnt)
outa[9..4] >>= 1
Cada vez que pasa el ciclo
contra el valor 0. Si la expresión es verdadera el resultado de la comparación es -1. Si es falsa el
resultado es 0. Recuerde que por regla
evalúa como verdadero la primera vez que pasa por el ciclo
ejecute el comando
outa[9..4] := %100000
Después de la pausa de 1/10s,
y lo mueve a su derecha un bit con la siguiente instrucción:
outa[9..4]
derecha que estaba en
outa
ejemplo si
almacena %011000 antes de
outa[9..4]
Si el comando fuera
outa[9..4] >>= 3
Cada vez que el ciclo se repite el comando
generando un ciclo %100000. %010000, %001000,...%000001, %000000. Cuando
%000000 el comando
y el movimiento de la luz en el LED se repite.
outa[9..4]
Pruebe al cambiar el Segundo operando en la operación de mover a la derecha de 1 a 2 para
hacer que el patrón en
parpadear cada dos LED de izquierda a derecha.
).
waitcnt
, el comando
repeat
outa[9..4]
, el cual enciende el LED en P9.
(el operador de asignación mover a la derecha) toma el bit en
>>=
[4] se elimina y la vacante que se crea en
, el resultado sería %000011
ve que
if
outa[9..4]
se mueva dos bits a la vez. Usted deberá estar viendo
outa[9..4]
Kit Educativo de Practicas Propeller: Fundamentos · Página 61
4: Práctica básica de E/S y tiempo
usa el operador
if [9..4] == 0
inicializa en cero así que
. Esto hace que la sentencia
repeat
outa[9..4] >>= 1
outa[9]
, almacenara %001100 después.
outa[9..4] >>= 1
mueve el patrón a la derecha,
outa[9..4] >>= 1
almacena un 0, por lo que almacena %100000 en
para comparar
==
se
outa[9..4] == 0
if
. El bit de la
se llena con un 0. Por
tiene
outa[9..4]

Publicidad

Tabla de contenido
loading

Tabla de contenido