Programmation du microcontrôleur hélice (3 / 7 étapes)

Étape 3: Spin Basics

« Imagine si BASIC et PASCAL accroché au bar temps et 9 mois plus tard une nouvelle langue sauté - Eh bien c’est SPIN pour vous. » - Ben Heck

Spin est le langage de haut niveau plus couramment utilisé pour l’hélice sans doute parce qu’il est (1) facile et (2) il est un interprète de spin sur la Prop.  Il y a autres langues là-bas, mais j’ai pensé que je voudrais parler de Spin, parce que c’est le seul que je connais le mieux.

VOTRE PREMIER PROGRAMME

Prêt pour votre premier programme ?  C’est ici :

Suivre le programme ci-dessus, mettez-la dans l’outil de l’hélice et appuyez sur F10.  Il sera rapidement compiler et charger dans l’hélice.  Le code se mettra à clignoter une LED connectée à P0 autre chaque seconde (1/2 Hertz) pour toujours.  Nous allons décomposer chaque ligne pour comprendre ce qu’il fait ;

PUB principale

Spin est organisé en blocs ;

PUB et PRI

Ces 2 blocs tenez le code réel.  Si vous êtes familier avec php ou BASIC ou C, ceux-ci fonctionnent beaucoup comme fonctions.  Ils ont des noms (le nom de ce bloc est « principal »), et vous pouvez leur transmettre des valeurs (function(passedval)).

Les blocs restants ne sont pas nécessaires pour un programme valide ;

CON

CON est titulaire d’une des constantes programme.  S’il y a une constante que vous utiliser tout au long du programme, le CON block vous permet de le changer une fois et il apparaîtra chaque fois que vous utilisez.  Voici un exemple du programme léger blinky utilisant un bloc CON ;

VAR
Le bloc VAR détient des variables de programme.  Dans le programme de lumières blinky, je n’ai pas utilisé toutes les variables système, mais voici une version de blinky lumières à l’aide de variables

Il y a 2 pâtés de maisons plus, DAT et OBJ, mais nous allons ignorer ceux qui pour l’instant - OBJ est utile lors de l’incorporation de code de quelqu'un d’autre, et DAT est un autre endroit pour tenir des variables, il est également où vous mettez le code assembleur (si vous voulez l’utiliser).

Toute façon - retour à notre programme d’origine.  La ligne suivante est :

dira [0]: = 1

Chaque broche sur l’hélice peut être définie pour une entrée ou une sortie.  Lorsque l’hélice Boote, chaque broche est définie comme une entrée, donc nous devrons mener une sortie la valeur P0.

Pour définir P0 en tant que sortie, nous allons modifier la valeur de dira [0] 1.  La: = est un opérateur d’assignation en vrille.  Pouvez-vous deviner comment vous définiriez P10 à une sortie ? dira [10]: = 1.  Vous pouvez également modifier une gamme de broches avec une seule commande.  Pour changer de P0, P1, P2 et P3, il suffit d’utiliser dira [0..3]: = 1.

Répétez

Répétez raconte l’hélice pour exécuter un bloc de code plusieurs fois.  Vous pouvez spécifier une condition répéter (j’ai répéter de 1 à 100) ou juste répéter éternellement de ne pas spécifier quoi que ce soit d’autre.  Ce bloc de répétition se répétera pour toujours.

Code pour être répété est délimité par des tabulations.  Notez les lignes gris douces sous le bloc répéter ?  L’outil hélice mettre ces lignes gris là pour vous montrer à quel code est dans la boucle de répétition.

outa [0]: = 1

outa raconte l’hélice pour relier la broche à la masse ou à V +.  outa fonctionne exactement comme le dira, vous pouvez définir la sortie d’une seule broche (outa [10]: = 1) ou d’un groupe de pins (outa [0..3]: = 1).  Notez qu’outa n’est significative que si le code pin a été basculé vers une sortie avec dira.

En outre, l’hélice utilise une logique de Tri-state.  Chaque broche peut être connecter pour sol, V +, ou mis dans un état de haute impédance.

Un état de haute impédance permet au sens de la broche si il est connecter au sol ou V +, sans modifier le signal.  Il laisse plusieurs codes PIN partagent le même canal de données et faire des choses comme charlieplexing.

Connecter la broche à la masse avec :
dira [pin]: = 1
outa [pin]: = 0

Connecter la broche à V +, avec :
dira [pin]: = 1
outa [pin]: = 1

sens si la broche est reliée à un signal faible ou élevé (état de haute impédance) :
dira [pin]: = 0 (valeur par défaut au démarrage)
pinstatus: = ina [pin]

Ina fonctionne tout comme l’outa et dira, sauf il est en lecture seule.  Si la broche est définie en tant qu’entrée, ina tiendra la valeur d’entrée actuelle.

Articles Liés

16F84 simple programmateur de microcontrôleur - JDM

16F84 simple programmateur de microcontrôleur - JDM

dans ce instructable, je vais vous montrer comment j'ai construit et testé ce circuit simple mais puissant.Le programmateur JDM est mon préféré programmateur de microcontrôleur. C'est un circuit simple et compatible avec de nombreux chargeurs de logi
5 raisons pourquoi vous êtes pas en mesure à programme A microcontrôleur

5 raisons pourquoi vous êtes pas en mesure à programme A microcontrôleur

quand à partir de microcontrôleurs, vous êtes susceptible de rencontrer quelques problèmes dans la programmation de votre microcontrôleur, et il n'y a rien de plus frustrant que de perdre des heures pour trouver le problème et toujours ne pas être en
Programmer un microcontrôleur avec 12Blocks

Programmer un microcontrôleur avec 12Blocks

lorsque j'ai fait le Web Clicker, j'ai ramassé une copie de la fenêtre pour le débogage et c'était une bouée de sauvetage. Fenêtre d'affichage a été conçu par Hanno Sander. Il a également développé un autre IDE pour l'hélice, appelée 12Blocks.J'ai d'
Programmation des microcontrôleurs PIC

Programmation des microcontrôleurs PIC

microcontrôleurs PIC sont un outil très utile et polyvalent pour une utilisation dans de nombreux projets électroniques. Ils sont très peu coûteux et facile à trouver. Ils sont aussi très puissants et beaucoup sont capables de vitesses allant jusqu'à
Bâtir un programme pour microcontrôleur STM32 sous Linux

Bâtir un programme pour microcontrôleur STM32 sous Linux

Les STM32Fx et les STM32Lx sont MCU basé sur l'architecture ARM. Pour la construction de programmes est le compilateur gcc disponible sous GNU/Linux. Le compilateur gcc dispose de nombreux réglages et drapeaux, ce n'est pas si facile construire proje
Programmateur de microcontrôleur PIC 16F917

Programmateur de microcontrôleur PIC 16F917

dans ce instructable, je vais vous montrer comment construire un microcontrôleur PIC 16F917 circuit de programmation. Ce microcontrôleur est une forme très agréable du chip Microcontroller le fabricant de la célèbre puce Microchip.Ce microcontrôleur
Début microcontrôleurs partie 2: Création d’une Interface SPI du programmateur au microcontrôleur

Début microcontrôleurs partie 2: Création d’une Interface SPI du programmateur au microcontrôleur

Bonjour, nous espérons que vous avez apprécié la partie 1 de début de microcontrôleurs. Nous allons avancer dans la partie 2 et de commencer à parler sur les interfaces et comment obtenir votre microcontrôleur pour communiquer avec un ordinateur.Donc
Construire et coder une bobine de Tesla Musical MONSTER avec un microcontrôleur

Construire et coder une bobine de Tesla Musical MONSTER avec un microcontrôleur

visiter ma page youtube pour davantage de projets : http://www.youtube.com/channel/UCksEFn8xaLP0z4rsiHa9zcA?feature=mheeComme l'hiver venu, beaucoup seront contraints de rester à l'intérieur... Pour beaucoup, cela signifie jouer scrabble avec grand-m
PIC microcontrôleur Volume Adjuster Program(Proteus 8 Stimulation)

PIC microcontrôleur Volume Adjuster Program(Proteus 8 Stimulation)

Bonjour à tous,L'aspect important de tout apprentissage est d'induire la curiosité et faire quelque chose de significatif pour assurer que. Avec l'aide de cette curiosité, je fais ici un programme de réglage de volume qui ressemble à l'identique dans
Comprendre l’ICSP pour les microcontrôleurs PIC

Comprendre l’ICSP pour les microcontrôleurs PIC

programmation de microcontrôleurs n'est pas difficile. Construire un programmeur rend un grand premier projet électronique. L'objectif de cette instructable est d'expliquer la méthode simple « in circuit serial programming » utilisée avec PICs de Mic
Comment changer fusible bits de Atmega328p AVR - microcontrôleur 8 bits en utilisant Arduino

Comment changer fusible bits de Atmega328p AVR - microcontrôleur 8 bits en utilisant Arduino

Dans ce instructable vous apprendrez comment changer les bits de fusible du microcontrôleur Atmega328p. J'utilise Arduino mega comme programmeur au programme Atmega328P-PU sur maquette. Il est livré avec une valeur par défaut 1MHz interne calibré la
3D imprimés microcontrôleur Dice Roller

3D imprimés microcontrôleur Dice Roller

Il s'agit d'un projet juste pour le plaisir que j'ai fait dans la Digilent MakerSpace. Généralement, chaque fois que je joue des jeux de société j'utilise une application smartphone laminage dés puisque les dés sont si faciles à perdre. J'ai pensé qu
En savoir plus sur microcontrôleurs

En savoir plus sur microcontrôleurs

Cet Instructable a été conçu pour répondre à la question : Comment puis-je commencer à microcontrôleurs ? Maintenant, en clair, un anglais simple, vous pouvez apprendre ce qu'un microcontrôleur est et comment utiliser un. Vous apprendrez comment fair
Le portail « Toujours vivant » microcontrôleurs AVR

Le portail « Toujours vivant » microcontrôleurs AVR

encore un autre, mais instructable, axés sur le portail différent !Celui-ci vous montre comment à :  1) construire un appareil très bon marché qui joue une version 8 bits de Still Alive de portail2) sur le même matériel, mais avec une puce différente