Después de la discusión básica del microcontrolador de la hélice 2 de Parallax y sus funciones, ahora me gustaría entrar en el entorno de desarrollo y la programación.A continuación aprenderá cómo controlar un LED, por ejemplo.
Acceso a LED a bordo
Comienza con el entorno de software y el control de uno de los LED en el tablero.El desarrollo del software se lleva a cabo en Windows 10 con las herramientas ofrecidas por el paralaje.Al final, hay una configuración básica de software disponible con la que puede compilar el código y presionar el resultado en la hélice 2.
Parallax actualmente está haciendo que su herramienta de hélice esté disponible en la versión 2.3 alfa.Contiene el soporte de la hélice 2 para el lenguaje de programación Spin2.Si prefiere ensambladores, también puede usar PNUT como entorno de desarrollo o ensamblador en línea.Si desea programar como yo en C/C ++: los compiladores y entornos de desarrollo adecuados desafortunadamente aún no están listos.En este sentido, puede ver un video [1] a través de C/C ++ en Propeller◦2.
Entorno de desarrollo básico
La URL para descargar la herramienta de hélice 2.3 alfa se puede encontrar en [2].Primero, sin embargo, la descarga de la herramienta de hélice 1.3.2, y en el segundo paso, la herramienta de hélice de archivo ejecutable 2.3 alfa se copia en el directorio del programa.Luego puede iniciar el editor y comenzar a programar.La Figura 1 muestra la interfaz de usuario.
Ensamblador o spin2?
¿Debería usar SPIN2 o ensamblador para el primer programa?En aras de la simplicidad, Spin2 continúa.SPIN2 se interpreta como la mayoría de los dialectos básicos, pero de manera diferente.Los comandos y las referencias de lenguaje a SPIN2 se pueden encontrar en la herramienta de hélice en el menú Ayuda (ver Figura 2).
Todavía hay un manual temporal para el inicio que desafortunadamente aún no está terminado.Esto lleva al documental actual de Spin2 para la hélice 2.
Debido a la interpretación, un comando SPIN2 requiere aproximadamente seis ciclos de instrucción = 12 ciclos de ciclo.Esto no resulta exactamente en la versión de programa más rápida, pero SPIN2 ofrece un comienzo más fácil como ensamblador.Dado que SPIN2 es un lenguaje de alto nivel, hay muchas instrucciones de ensamblador que se llevarán a cabo detrás de la mayoría de los comandos SPIN2, pero son más fáciles de usar que el código de ensamblador puro.La Figura 3 muestra cómo se crea un nuevo proyecto SPIN2.
Pina de la hélice 2 Pins de E/S
Antes de comenzar a programar, primero debe familiarizarse con los alfileres de E/S.A continuación se utilizará como alfileres de E/S ordinarios, y solo más tarde hay una descripción detallada de todas sus habilidades.Para crear un nivel bajo o alto en un PIN, debe configurarlo como resultado de antemano.Los LED designados con p56 a p63 se encuentran en la placa de evaluación (ver Figura 4).
Estos LED están conectados a los pasadores 56 a 63 de la hélice 2.Para el primer ejemplo, el primer LED p56 debe controlarse.En el diagrama del circuito, tenemos claro que no está directamente conectado al chip, sino con el búfer oktal 74HCT244.Con su ánodo, los LED están permanentemente en VCC.Para brillar, el búfer debe atraer su cátodo al potencial de masa (ver Figura 5).
LED invertido
Para el código, esto significa que el LED permanece oscuro en un alto nivel en el pin MCU y solo lo enciende a un nivel bajo.Gracias a esta lógica invertida, el código debe poner los pasadores LED en "alto" para que los LED permanezcan oscuros.Si no hace nada, estos pines actúan de forma predeterminada como una entrada, y los buffers correspondientes se comportan como si sus entradas estuvieran controladas con un alto nivel.Como resultado, los LED inicialmente permanecen oscuros.Para que el LED P56 se ilumine usando el código SPIN2, lo siguiente debe suceder:
Inicialización de la MCU y al menos un núcleo (COG).
Establecer el pin 56 como resultado
Pin 56 Establecer bajo
hacer nada
La inicialización realmente necesaria en el primer punto ya se ha realizado y se puede ignorar para este ejemplo.El programa SPIN2 solo necesita unas pocas líneas de código.Esto comienza con la función Call Pub Main (), seguido del método pinwrite () (ver Fig. 6).
El método PinWrite () se incluye en SPIN2 y permite que se prueben uno o más pines con un cierto valor.Dado que el P56 LED se controla con el PIN 56, este PIN se entrega al nivel '0' para poner el PIN a bajo y, por lo tanto, encender el LED.La última línea de repetición conduce a un bucle interminable porque el código se lleva a cabo una y otra vez bajo repetición.En este caso, sin embargo, no hay más código, por lo que el "COG" correspondiente siempre no hace nada.Sin esta repetición, se alcanzaría el final del código y los pines de E/S ya no se controlarían.
Código traducido a la hélice 2
Wenn der Code fertig ist, können Sie ihn auf das Propeller 2 Evaluation Board hochladen und ausführen lassen. Dazu wird das Board einfach per USB mit dem PC verbunden und das Menü Run->Compile Current->Load RAM ausgewählt, damit der Code direkt in das RAM der MCU geladen und ausgeführt wird. Wenn nun die LED P56 leuchtet, war die MCU-Version von „Hello world“ erfolgreich. Falls Sie sich nun fragen, wie man die LED zum Blinken bringen kann: In Spin2 gibt es den WAITMS-Befehl. Beispielsweise verzögert WAITMS(500) die Ausführung des nächsten Befehls um 500 ms. Da der Code nach repeat immer wieder ausgeführt wird, ist das die Stelle, wo man die LED zum Blinken bringen kann. Die nächste Übung besteht also darin, den Code entsprechend zu verändern. Mit den bisherigen Informationen sollte es Ihnen möglich sein, den Code so zu modifizieren, dass die LED P56 nicht nur leuchtet, sondern blinkt. Hierfür gibt es später noch eine exemplarische Lösung.
Si puede dirigirse con éxito a una E/S-Pin, debe averiguar cómo se envían los datos en serie en el siguiente paso.Los programadores de MCU están acostumbrados a este tipo de depuración, especialmente si ha escrito software para controladores AVR, por ejemplo.Dado que esto funciona bien con las funciones de PIN inteligentes, la siguiente parte de esta serie girará exactamente.
(200479-B)
¿Quieres leer otros artículos de los electorales?¡Ahora conviértete en un miembro de Elktor y no te pierdas nada!