Parallax Propeller Manual Del Usuario página 210

Kit educativo
Tabla de contenido
Estudio de Soluciones
{•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Código Temporal para uso de Pila
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••}
CON
_clkmode
_xinfreq
OBJ
Stk
:
PUB TestStack
Stk.Init(@Stack, 32)
start(4, clkfreq/10, 20)
waitcnt(clkfreq * 3 + cnt)
Stk.GetLength(30, 19200)
baud
{•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Probando Código/Objeto para uso de pila
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••}
{{
File: Blinker.spin
Ejemplo administración de cog para proceso LED blinking.
SCHEMATIC
───────────────────────────────
100 ω LED
pin ──────────┐
───────────────────────────────
}}
VAR
long stack[32]
byte cog
PUB Start(pin, rate, reps) : success
{{
Inicia Nuevo proceso blinking en Nuevo cog; Regresa verdadero si tiene éxito.
Parámetros:
pin
la E/S conectada al circuito LED → ver esquemático
rate
Ciclo encendido/ Apagado definido por ciclos de reloj
reps
el número de ciclos encendido/apagado
}}
Stop
success := (cog := cognew(Blink(pin, rate, reps), @stack) + 1)
PUB Stop
''Detiene proceso Blinking, si hay.
if Cog
cogstop(Cog~ - 1)
PUB Blink(pin, rate, reps)
Pagina 210 · Kit Educativo de Prácticas Propeller: Fundamentos
= xtal1 + pll16x
= 5_000_000
"Stack Length" 'Incluye Objeto Stack Length
'Inicia espacio de pila reservado (reservado abajo)
'Ejercicio código/objeto bajo prueba
'Espera tiempo para uso máx. de pila
'Transmite resultados salida serial P30 a 19,200
GND
'Usa cristal * 16 para serial rápida
'Cristal Externio5 MHz en XI & XO
'Cog Espacio de pila
'Cog ID
Tabla de contenido
loading

Tabla de contenido