Indexando Identificación Del Cog - Parallax Propeller Manual Del Usuario

Kit educativo
Tabla de contenido

Publicidad

Prácticas de Métodos y Cogs
Presione y suelte el botón y observe que el LED parpadea 10 veces a una frecuencia
determinada por el tiempo que se sostiene el botón.
Después de que el LED termina de parpadear presione y suelte el botón en un tiempo
diferente.
Intente varios tiempos desde presionar y soltar rápidamente hasta presionar por varios
segundos.
Especificando Valores de Regreso
Declaraciones de métodos públicos y privados ofrecen la opcion de nombrar el valor de regreso
(Definiciones en el Manual Propeller Rvalue en el
de regreso solo proporciona un alias a la variable
especialmente para documentar el código pero no es requerido.
A continuación hay una versión modificada del método
usar regresar un valor en vez de una variable
y en la última línea ahora dice
es solo un alias de la variable local
método aun funciona idénticamente que el objeto original ButtonBlink.
PUB ButtonTime(pin) : dt | t1, t2
regreso
repeat until ina[pin]
t1 := cnt
repeat while ina[pin]
t2 := cnt
dt := t2 - t1
Haga una copia del objeto ButtonBlink en un nuevo tabulador.
Substituya esta versión modificada del método
y verifique que trabaja igual.
Utilice el sumario y vistas de documentación para comparar los dos objetos
En la versión modificada de ButtonBlink usted debe ver el valor de regreso
y la vista de documentación. Hacer un hábito en definir valores de regreso cuando se declaran
métodos que pueden llamarse dentro de la expresión hará más fácil entender y reusar sus objetos.
Indexando Identificación del Cog
Como se menciono anteriormente los objetos no pueden predecir necesariamente cual Cog será
iniciado en un método. El comando
método. Cada vez que un método se inicia en un Cog nuevo la identificación del Cog que regresa el
comando
puede almacenarse en una variable. Esto hace posible rastrear que hace cada Cog.
cognew
El objeto CogStartStopWithButton demuestra como rastrear los Cogs con un arreglo variable en una
aplicación que inicia un Nuevo Cog cada vez que el botón se presiona y se suelta. Usa el mismo
método
del objeto ejemplo anterior para medir el tiempo que el botón se presiono. Luego
ButtonTime
inicia el método
en un nuevo Cog con la medida
Blink
El resultado es una aplicación donde cada vez que se presiona y se suéltale botón otro LED comienza
a parpadear a la frecuencia que coincide con el tiempo que se presiono el botón. Después de seis
veces que se presiona/suelta las siguientes seis veces apagaran los Cogs en sentido contrario. Como el
arranque y paro esta anidado en un ciclo
veces el ciclo comenzara con el mismo efecto que el de la primera vez.
Pagina 78 · Kit Educativo de Prácticas Propeller: Fundamentos
PUB
result
. Aquí se agrego
result
en vez de
dt := t2 – t1
. Así desde el punto de vista de la llamada de método este
result
' Alias opcional especificado para el valor de
' Automáticamente se regresa el valor almacenado por dt
regresa la identificación del Cog donde se ejecuta un
cognew
sin condiciones cuando se presione el botón P23 13
repeat
y Sintaxis
). Cuando se especifica un valor
PRI
del método. Este nombre alias es practico
que demuestra cómo se puede
ButtonTime
a la declaración del método
:dt
. Tenga en mente que
result := t2 – t1
en la copia del objeto ButtonBlink
ButtonTime
dt
determinando la frecuencia de parpadeo.
time
dt
incluido en el sumario

Publicidad

Tabla de contenido
loading

Tabla de contenido