Parallax Propeller Manual Del Usuario página 75

Kit educativo
Tabla de contenido

Publicidad

PUB LaunchBlinkCogs
cognew(Blink(4, clkfreq/3, 1_000_000), @stack[0])
cognew(Blink(5, clkfreq/7, 1_000_000), @stack[10])
cognew(Blink(6, clkfreq/11, 1_000_000), @stack[20])
waitcnt(clkfreq * 3 + cnt)
cogstop(1)
waitcnt(clkfreq + cnt)
cogstop(2)
waitcnt(clkfreq + cnt)
cogstop(3)
Con algunos trucos de indexación, los Cogs pueden incluso iniciarse y apagarse con ciclos
Abajo se muestra un ejemplo que usa una variable local
E/S, un arreglo
e identificación de Cogs. Hace lo mismo que la versión modificada del método
stack
. Note que la variable local
LaunchBlinkCogs
repeat index from 0 to 2
Cuando
es 0 el parámetro de
index
método
. En la segunda vez
Blink
6. Para la secuencia
clkfreq
ecuación. Para 0, 10 y 20 como elemento de arreglo,
los Cogs 1, 2 y 3 el segundo ciclo
se
se convierte en
cogstop(index)
tercera vez
es 3 resultando en
index
PUB LaunchBlinkCogs | index
repeat index from 0 to 2
cognew(Blink(index + 4, clkfreq/((index*4) + 3), 1_000_000), @stack[index * 10])
waitcnt(clkfreq * 3 + cnt)
repeat index from 1 to 3
cogstop(index)
waitcnt(clkfreq + cnt)
Pruebe las versiones modificadas de los métodos LaunchBlinkCogs.
Los objetos pueden escribirse para monitorear que Cog se está ejecutando en un cierto método. Un
avance es discutido en la sección Indexación de Identificaciones de Cogs en la página 78. Otros
avances se mostraran en futuras prácticas de objetos.
¿Cuánto espacio de Pila para iniciar un Método en un Cog?
Abajo se muestra una lista del numero longs de que cada método agrega a su pila cuando se llama.
2 – direcciones de regreso
1 – regreso de resultado
Numero de parámetros del método
Numero de variables locales
Espacio de trabajo para expresiones de cálculo intermedias
Asuma que tiene un objeto con tres métodos:
crecerá conteniendo dos grupos de longs, uno para el método
llama al método
habrá un tercero. Cuando el método
C
index
incrementa
cada vez que pasa por los tres comandos
index
del método
pin
Blink
es 1, por lo que
index
de 3, 7, 11 con valores de
cambia
repeat
index
. La segunda vez
cogstop(1)
.
cogstop(3)
,
y
A
B
C
Kit Educativo de Practicas Propeller: Fundamentos · Página 75
5: Prácticas de Métodos y Cogs
en un ciclo
index
repeat
se
declara con el símbolo de pipa. Así
es
, pasando
0 + 4
4
se convierte en 5, y la tercera vez
pin
de 0, 1, y 2
index
(index * 4) + 3
completa la ecuación. Para detener
index * 10
de 1 a 3. La primera vez es
es 2, así
index
. Cuando el método
llama al método
A
y otro para el método
A
regresa la pila se reducirá a dos grupos.
C
.
repeat
para definir los pins
.
cognew
al parámetro de
del
pin
es
pin
llena la
es 1 así que
index
, y la
cogstop(2)
la pila
B
. Si el método
B
B

Publicidad

Tabla de contenido
loading

Tabla de contenido