Prácticas de Métodos y Cogs
cada vez que se llama. La siguiente línea
en un nuevo Cog. El comando
1_000_000)
. La primera vez
cog[index]
time, 1_000_000), @stack[0])
.
La tercera
@stack[10])
sucesivamente. Así
cog[0]
cada Cog en la cual se inician diferentes versiones de
repeat index from 0 to 5
time := ButtonTime(23)
cog[index] := cognew(Blink(index + 4, time, 1_000_000), @stack[index * 10])
Después de presionar/soltar seis veces entra a este ciclo
, pero su valor de regreso no se almacena en la variable
ButtonTime
usa únicamente para esperar por la siguiente vez que se presiona/suelta el botón para poder apagar el
siguiente Cog. Como no se hace nada con su valor de regreso entonces no necesita almacenarse en la
variable
. Este ciclo
time
tiene su identificación almacenada en
, y así sucesivamente hasta el
cog[4]
repeat index from 5 to 0
ButtonTime(23)
cogstop(cog[index])
Tiempo de Estudio
Preguntas
1) ¿Qué sucede si un método que fue llamado se queda sin comandos?
2) ¿Cuántos parámetros se pueden pasar a un método?
3) ¿Cuántos valores tiene un regreso de método?
4) ¿Cómo se determina el valor que regresa un método?
5) ¿Cuales dos argumentos necesita
6) ¿Cuál es la diferencia entre la Pila del Cog 0 y las pilas de otros Cogs?
7) ¿Cuál es la diferencia entre
8) ¿Cómo puede detener un Cog?
9) ¿Cuando se llama un método que valores se copian a la pila del Cog?
10) ¿Qué puede suceder en la pila conforme se ejecutan los comandos en un método?
11) ¿Qué le pasa a la Pila durante las llamadas de métodos anidados?
12) ¿Cuál es la mejor forma de evitar problemas con la pila cuando estas iniciando un método
prototipo que corre en un Cog?
13) ¿Qué característica del comando
proceso está corriendo en un Cog?
14) ¿Es posible iniciar Cogs sucesivos en un ciclo?
Ejercicios
1) Escriba una declaración pública para un método de nombre
parámetros de nombre
.
tH
2) Escriba una llamada al método del ejercicio #1. Programe el Pin a 24, el tiempo en alto de
1/2000 de la frecuencia del sistema de reloj y el tiempo de ciclo 1/100 de la frecuencia del
reloj. Almacene el resultado en una variable de nombre
Pagina 80 · Kit Educativo de Prácticas Propeller: Fundamentos
cog[index] := cognew...
cognew
es igual a 0 así el comando se hace
index
. La segunda vez
cog[2] := cognew(Blink(6, time, 1_000_000), @stack[20])
,
, hasta
cog[1]
cog[5]
va de 5 a 0. La primera vez que hace el ciclo apagara el Cog que
repeat
. La segunda vez apagara el Cog con la identificación en
cog[5]
,.
cog[0]
para iniciar un método en un nuevo cog?
cognew
y
cognew
coginit
cognew
,
, y
pin
tHigh
tCycle
inicia
regresa el numero de Cog, el cual se almacena en
cog[0] := cognew(Blink(4,
cog[1] := cognew(Blink(5, time, 1_000_000),
, cada uno almacena la identificación del Cog para
.
Blink
. Observe como se llama al método
repeat
. Eso es porque el método se
time
?
hace posible que el programa pueda rastrear que
, regresa
y tiene variables locales
success
.
yesNo
Blink(index + 4, time,
, y así
que espera
SquareWave
and
tC