7: Práctica de Módulos Contadores y Aplicaciones de Circuitos
El código agregado al objeto TestDualPwm monitorea y muestra el tren de pulsos en el objeto
TestDualPwmWithProbes. La mayoría del código agregado es para mostrar los valores en la Terminal
Serial Parallax todo lo que se necesita incorporar al objeto es:
•
Tres declaraciones variables:
•
Una declaración de objeto:
•
Una llamada al método
y
tLprobe
pulseCnt
Después de eso el objeto MonitorPWM automáticamente actualiza los valores almacenados por
,
, y
tHprobe
tLprobe
pulseCnt
Serial con
debug.dec(tHprobe)
Asegúrese que el objeto TestDualPwmWithProbes.spin está guardado en la misma carpeta
que MonitorPwm.spin y FullDuplexSerialPlus.spin.
Cargue TestDualPwmWithProbes.spin en la EEPROM (F11) e inmediatamente presione el
botón Enable de la Terminal Serial Parallax.
Desconecte la terminal del cable P8 → P6 que está conectado en P6 y conéctelo a P4. La
pantalla deberá mostrar la actualización de los diferentes tiempos altos y bajos.
{{
TestDualPwmWithProbes.spin
Demuestra cómo usar un objeto que usa contadores en otro cog
Para medir (probar) actividad de pin E/S
Generada por los contadores en este cog.
}}
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
' Constantes de la Terminal Serial Parallax
CLS = 16, CR = 13, CLREOL = 11, CRSRXY = 2
OBJ
debug : "FullDuplexSerialPlus"
probe : "MonitorPWM"
PUB TestPwm | tc, tHa, tHb, t, tHprobe, tLprobe, pulseCnt
' Inicia MonitorServoControlSignal.
probe.start(8, @tHprobe, @tLprobe, @pulseCnt)
'Inicia FullDuplexSerialPlus.
Debug.start(31, 30, 0, 57600)
waitcnt(clkfreq * 2 + cnt)
Debug.str(String(CLS, "Cycle Times", CR, "(12.5 ns clock ticks)", CR))
Debug.str(String("tH = ", CR))
Debug.str(String("tL = ", CR))
Debug.str(String("reps = "))
ctra[30..26] := ctrb[30..26] := %00100
ctra[5..0] := 4
ctrb[5..0] := 6
frqa := frqb := 1
,
tHprobe
tLprobe
probe : "MonitorPWM"
del objeto MonitorPWM que pasa la dirección de
start
, como esta:
probe.start(8, @tHprobe, @tLprobe, @pulseCnt)
con cada nuevo ciclo. Estas mediciones son mostradas en la Terminal
,
debug.dec(tLprobe)
' Reloj de sistema → 80 MHz
' Contadores A y B → NCO
' Terminación sencilla
' Activa pins para
' controlar contadores
' suma 1 a phs con cada
Kit Educativo de Practicas Propeller: Fundamentos · Página 165
, y
pulseCnt
, y
debug.dec(pulseCnt)
tHprobe
.
.
,