Práctica de Módulos Contadores y Aplicaciones de Circuitos
tladdr := tLowAddr
pcntaddr := pulseCntAddr
' Inicia el cog nuevo.
okay := cog := cognew(PwmMonitor, @stack) + 1
PUB stop
'' Detiene el proceso de monitoreo PWM y libera un cog.
if cog
cogstop(cog~ - 1)
PRI PwmMonitor
' Clave 3, Activa las configuraciones de pin E/S y los módulos (Desde el
' nuevo cog!)
ctra[30..26] := %01000
ctra[5..0] := apin
frqa := 1
ctrb[30..26] := %01100
ctrb[5..0] := apin
frqb := 1
phsa~
phsb~
' Activa estados y direcciones de pins E/S.
dira[apin]~
' Ciclo de monitoreo PWM.
repeat
waitpeq(|<apin, |<apin, 0)
long[tladdr] := phsb
phsb~
waitpeq(0, |<apin,0)
long[thaddr] := phsa
phsa~
long[pcntaddr]++
Dentro del Objeto MonitorPWM
Al principio MonitorPWM declara sus variables globales. Las variables
la práctica de Objetos. La variable
inicio el proceso. Posteriormente si se llama el método
dos métodos usan esta variable tiene que ser global porque los métodos no pueden ver otras variables
locales. La variable
stack
para cálculos, punteros de regreso, etc.
VAR
long cog, stack[20]
long apin, thaddr, tladdr, pcntaddr
Pagina 168 · Kit Educativo de Prácticas Propeller: Fundamentos
se usa para rastrear en cual cog el método
cog
proporciona espacio de pila para el código que se inicia en el nuevo cog
' Clave 1, Variables globales
' para cog y stack.
' Clave 1, Variables globales
' para el proceso.
' Detector POS
' Pin E/S
' Detector NEG
' Pin E/S
' Limpia contadores
' Hace salida un pin
' Ciclo principal
' Monitorea Cog
' Espera por apin
' para ir alto.
' Guarda tlow,
' después limpia
' Espera por apin
' para ir bajo.
' Guarda thigh luego
' limpia.
' Incrementa contador
' de pulsos.
y
cog
stack
del objeto sabrá cual cog apagar. Como
stop
se presentaron en
del objeto
start