Parallax Propeller P8X32A Manual Del Usuario página 52

Tabla de contenido
ABORT
– Referencia de Lenguaje Spin
PUB DriveMotors(Direction)
<código para manejar motores>
if MotorStuck
abort FALSE
abortar
<mas código>
El ejemplo de arriba muestra tres métodos de varios niveles lógicos,
DriveMotors
("nivel medio") y
decisión de la aplicación decidiendo como responder a los eventos como la activación de los
sensores y movimientos del motor. El método de nivel medio,
el robot una distancia corta. El método de bajo nivel,
control de los motores apropiadamente y verifica que se movieron correctamente.
En una aplicación como esta pueden ocurrir eventos críticos en el código de bajo nivel que
necesitan direccionarse por el código de alto nivel. El comando
obteniendo el mensaje del código de alto nivel sin requerir el pase de mensajes complicados a
través del código de nivel medio. En este caso solo tenemos un método de medio nivel pero
podrían existir muchos códigos anidados de medio nivel entre el alto y bajo nivel.
Main
El método
tiene entradas de sensores y decide en que dirección mover el robot a través
CASE
de la sentencia
. Entonces llama a
\
de abortar,
, precediéndolo. El método
DriveMotors
. Si se completa adecuadamente,
maneja la forma de mover los motores del robot para lograr la dirección deseada, pero si
determina que los motores están atorados y no se puede mover aborta con un valor
otra forma simplemente regresa normalmente.
Si todo esta bien el método
normalmente y eventualmente regresa un
DriveMotors
embargo si
la pila por todo el método
Move
abortar. El método
Main
El método
verifica el valor regresado por la llamada a
FALSE
que se regreso el método abortado
Beep
generar un
como resultado de la falla.
Si no se hubiera puesto la trampa (
la llamada de pila hubiera jalado toda la información hasta vaciarse y esta aplicación
terminaría inmediatamente.
Pagina 52 · Manual Propeller v1.1
("bajo nivel"). El método de alto nivel,
Move
de una forma especial con el símbolo de trampa
Move
activa
DriveMotors
regresa normalmente, el método
TRUE
, y el método
encuentra un problema
Move
hasta llegar al método
esta completamente inconsciente de esto y se termina efectivamente.
DriveMotors
\
) frente a la llamada a
'Si el motor se detiene,
Main
Main
Move
, es responsable de mover
DriveMotors
, maneja los detalles de
ABORT
RESULT
TRUE
a
y llama a un ciclo finito
Move
TRUE
regresa
. El método
Main
continua normalmente. Sin
ABORTA
lo cual hace que el Propeller llame a
Main
donde se encuentra la trampa de
Move
(el cual es ahora un valor
dentro de la llamada de pila) y decide
Move
cuando
Move
("alto nivel"),
, es el que toma la
puede ser de ayuda
DriveMotors
FALSE
. De
Move
se mueve
DriveMotors
aborto
Tabla de contenido
loading

Productos relacionados para Parallax Propeller P8X32A

Este manual también es adecuado para:

Propeller p8x32a-d40Propeller p8x32a-q44Propeller p8x32a-m44

Tabla de contenido