Práctica de Módulos Contadores y Aplicaciones de Circuitos
PUB stop
'' Detiene el proceso de monitoreo PWM y libera un cog.
if cog
cogstop(cog~ - 1)
El método
se inicia en un Nuevo cog por un comando
PwmMonitor
hay código corriendo en el método
método
. Lo primero que hace el método
start
pins E/S que va a usar. Recuerde su código no puede hacer esto desde otro cog; el código ejecutado
por un cog dado tiene que hacer sus propias configuraciones de contadores y asignación de pins E/S.
(Vea la Clave 3 discutida previamente)
PRI PwmMonitor
' Clave 3, active módulos contadores y configuraciones d pins E/S
' (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 direcciones y estados de pins E/S.
dira[apin]~
' Ciclo monitoreando PWM.
El ciclo principal en el método
contenido de
, lo cual acumula el tiempo bajo a una dirección en RAM principal. Recuerde que la
phsb
dirección en memoria principal se paso del parámetro
lo copio a la variable global
también. Similar con
tlowaddr
tiempo bajo de la señal el código limpia el registro
señal va a bajo, copia
siguiente ciclo se agrega 1 a la memoria apuntada por la variable
número de ciclos.
' Ciclo de monitoreo PWM.
repeat
waitpeq(|<apin, |<apin, 0)
long[tladdr] := phsb
phsb~
waitpeq(0, |<apin,0)
long[thaddr] := phsa
phsa~
long[pcntaddr]++
Pagina 170 · Kit Educativo de Prácticas Propeller: Fundamentos
PwmMonitor
PwmMonitor
espera a que la señal este en alto. Luego copia el
PwmMonitor
. Como
thaddr
thaddr
→
y
tladdr
pulsecntaddr
a la memoria asignada para medir el tiempo alto. Antes de medir el
phsa
cognew
en un procesador separado dl código que llamo el
es configurar los módulos contadores y los
' Detector POS
' Pin E/S
' Detector NEG
' Pin E/S
' Limpia conteos
' Hace apin una
' entrada
del método
thighaddr
es una variable global es accesible en este método
→
pcntaddr
para la siguiente medida. Después de que la
phsb
pcntaddr
' Ciclo principal
' monitoreo del cog
' Espera por apin para
' ir alto.
' Guarda tlow, luego limpia.
' Espera por apin par air
' bajo.
' Guarda thigh, luego limpia.
' Incrementa contador pulso.
en el método
. Así,
start
. El método
start
start
. Antes de esperar medir el
, la cual lleva cuenta del