Paso 3: Giro básico
"Imagina si BASIC y PASCAL enganchan a la barra tiempo y 9 meses más tarde apareció un nuevo lenguaje - bien que es para usted." - Ben Heck
Spin es el idioma de alto nivel más utilizado para el apoyo probablemente porque es (1) fácil, y (2) hay un intérprete de giro en el apoyo. Hay otros idiomas que hay, pero pensé que sería hablar de la vuelta porque es la que mejor conozco.
SU PRIMER PROGRAMA
¿Listo para tu primer programa? Aquí está:
El programa anterior, meter en la herramienta de hélice y golpear F10. Rápidamente se compilar y cargar en la hélice. El código parpadeará un LED conectado a P0 cada otro segundo (1/2 hertzios) para siempre. Desglosemos cada línea para entender lo que está haciendo;
BAR principal
La vuelta está organizada en bloques;
PUB y PRI
Estos 2 bloques mantener código real. Si estás familiarizado con php, BASIC o C, éstos funcionan mucho como funciones. Tienen nombres (el nombre de este bloque es la 'principal'), y les puede pasar valores (function(passedval)).
Los bloques restantes no son necesarios para un programa válido;
CON
CON tiene constantes de programa. Si hay un constante que uso durante todo el programa, el bloque CON le permite cambiar de una vez y se reflejará cada vez que utilice. Este es un ejemplo del programa luz blinky usando un bloque de CON;
VAR
El bloque VAR contiene variables de programa. En el programa de luces blinky, yo no he utilizado las variables de sistema, pero aquí es una versión de blinky luces utilizando variables
Hay 2 cuadras más, DAT y OBJ, pero te pase los de ahora - OBJ es útil al incorporar código de otra persona y DAT es otro lugar para mantener las variables, también es donde pones el código ensamblador (si usted quiere usar).
De todos modos - de nuevo a nuestro programa original. Es la línea siguiente:
dira [0]: = 1
Cada perno de la hélice se puede establecer en una entrada o una salida. Cuando la proposición a, cada pin se configura como una entrada, por lo que necesitaremos establecer una salida P0.
Para configurar P0 como una salida, te cambie el valor de dira [0] a 1. El: = es un operador de asignación en la vuelta. ¿Puedes adivinar cómo se establecería P10 a una salida? dira [10]: = 1. También puede cambiar una serie de pines con un solo comando. Para cambiar de P0, P1, P2 y P3, sólo tiene que utilizar dira [0..3]: = 1.
repetir
repetir le dice a la hélice para ejecutar un bloque de código varias veces. Puede especificar una condición de repetición (repetir i de 1 a 100) o a repetir para siempre al no especificar nada más. Este bloque de repetición se repetirá para siempre.
Código a repetir está delineado por las pestañas. ¿Tenga en cuenta las suaves líneas gris debajo del bloque repetir? La herramienta de hélice poner esas líneas grises allí para mostrarle qué código se encuentra en el bucle de repetición.
Outa [0]: = 1
Outa dice la hélice para conectar la clavija a tierra o a V +. Outa funciona igual que dira, puede configurar la salida de un pin único (outa [10]: = 1) o un grupo de pines (outa [0..3]: = 1). Tenga en cuenta que outa sólo tiene sentido si el pin ha cambiado a una salida con dira.
Además, la hélice utiliza lógica Tri-estado. Cada pin se puede conectar a tierra, V +, o establecerse en un estado de alta impedancia.
Un estado de alta impedancia permite el sentido del pin si es conectar a tierra o V + sin cambiar la señal. Permite múltiples pasadores comparten el mismo canal de datos y hacer cosas como charlieplexing.
Conectar la clavija a tierra con:
dira [pin]: = 1
Outa [pin]: = 0
Conectar la clavija de V + con:
dira [pin]: = 1
Outa [pin]: = 1
sentido si el pin está conectado a una señal baja o alta (estado de alta impedancia):
dira [pin]: = 0 (por defecto en el arranque)
pinstatus: = ina [pin]
INA trabaja al igual que outa y dira, excepto que es de sólo lectura. Si el pin se configura como una entrada, ina tendrá el valor de entrada actual.