De Propeller Microcontroller programmeren (3 / 7 stap)

Stap 3: Spin Basics


"Stel je voor als BASIC en PASCAL op bar tijd vastgehaakt en 9 maanden later een nieuwe taal een pop-fly - Nou dat SPIN voor u is." - Ben Heck

Spin is waarschijnlijk de meest gebruikte high-level taal voor de Prop, omdat het ligt (1), en (2) er een tolk van de spin op de Prop.  Er zijn ook andere talen die er, maar ik dacht dat ik zou spreken over Spin want het is degene die ik het beste ken.

UW EERSTE PROGRAMMA

Klaar voor uw eerste programma?  Hier is het:

Neem het programma hierboven, zet het in de Propeller-tool en druk op F10.  Het zal snel compileren en laden in de schroef.  De code zal het knipperen van een LED verbonden met P0 elke andere seconde (1/2 Hertz) voor altijd.  Laten we breken elke regel om te begrijpen wat het doet;

Belangrijkste PUB

Spin is onderverdeeld in blokken;

PUB en PRI

Deze 2 blokken houden daadwerkelijke code.  Als u bekend met php of BASIC of C bent, werken deze veel als functies.  Ze hebben namen (de naam van dit blok is 'main'), en kunt u ze doorgeven waarden (function(passedval)).

De resterende blokken zijn niet vereist voor een geldige programma;

CON

CON houdt programma-constanten zijn.  Als er een constante die u in het hele programma, de CON-blok kun je eenmaal te wijzigen het en het zal blijken elke keer dat je ermee.  Hier is een voorbeeld van het BLINKIE licht programma met een CON blok;

VAR
Het VAR-blok houdt programma variabelen.  In het programma van blinky lichten, ik heb niet alle variabelen van het systeem gebruikt, maar hier is een versie van blinky lichten met behulp van variabelen

Er zijn 2 meer blokken, DAT en OBJ, maar wij zal overslaan voor nu - OBJ is handig als iemand anders de code opnemen, en DAT is een andere plek om te houden van variabelen, het is ook waar je montage-code (als u wilt om het te gebruiken).

Anyway - terug naar onze oorspronkelijke programma.  De volgende regel is:

Dira [0]: = 1

Elke pin op de schroef kan worden ingesteld op een invoer of een uitvoer.  Wanneer de Prop opwaarts zelfstart, is elke pin ingesteld als input, dus moeten we P0 ingesteld op een uitgang.

Om in te stellen P0 als uitgang, zult we Uwijzigtdewaarde van dira [0] 1.  De: = is een toewijzingsoperator in draai.  Kunt u raden hoe stelt u P10 naar een uitvoer? Dira [10]: = 1.  U kunt ook een aantal pinnen met één opdracht.  Als u wilt wijzigen P0, P1, P2 en P3, gewoon gebruik maken van dira [0..3]: = 1.

Herhaal

Herhaal vertelt de Propeller aan een blok code meerdere keren uitvoeren.  U kunt een terugkerende aandoening (herhaal ik van 1 tot 100) of gewoon herhalen voor altijd door het niet opgeven van iets anders.  Dit Herhaal blok zal voor altijd herhalen.

Code kan worden herhaald is afgebakend door tabs.  Opmerking de zachte grijze lijnen onder het herhalen blok?  De Propeller Tool zet die grijze lijnen er om aan te geven welke code zit in de repeat-lus.

outa [0]: = 1

outa vertelt de propeller aan de pin verbinding te maken met grond of V +.  outa werkt net als dira, kunt u de uitvoer van een enkele pin (outa [10]: = 1) of een groep van pins (outa [0..3]: = 1).  Opmerking dat outa is alleen zinvol als de pin is overgeschakeld naar een uitvoer met dira.

Verder gebruikt de Propeller Tri-state logica.  Elke pin kan worden verbinding maken met gemalen, V +, of in te stellen in een hoge impedantie staat.

Een hoge impedantie staat laat de pin zin of het is verbinden met grond of V + zonder dat het signaal.  Het laat meerdere pinnen hetzelfde kanaal gebruiken gegevens en het doen van dingen zoals charlieplexing.

Sluit de pin aan de grond met:
Dira [pin]: = 1
outa [pin]: = 0

Verbinden met de pin V + met:
Dira [pin]: = 1
outa [pin]: = 1

zin als de pin is verbonden met een lage of hoge signaal (hoge impedantie staat):
Dira [pin]: = 0 (standaard op het opstarten)
Pinstatus: ina [pin] =

Ina werkt net als outa en dira, behalve het alleen-lezen.  Als de pin is ingesteld als een input, zal ina houden de huidige invoerwaarde.

Gerelateerde Artikelen

Propeller Platform

Propeller Platform

Wat is de schroef?De Parallax Propeller is een 32-Bit 8-Core microcontroller.  Kans zijn u heb al een paar Propeller aangedreven projecten zoals:OpenStomp-Coyote-1: open bron digitale gitaar effect pedaalMuziek Demo (.mp3)(Website)De Replica 1, een k
Microcontroller gecontroleerd Home Entertainment System

Microcontroller gecontroleerd Home Entertainment System

Dit Instructable vindt u op mijn reis ter vervanging van mijn oude Netflix/Vudu Bluray-speler met een PC-gebaseerde entertainment station voor mijn LCD-projector. Ik wilde om toegang tot en controle van Netflix, Hulu, Youtube, Crackle, NBC, ABC en he
Bouwen en een MONSTER muzikale Tesla spoel met een Microcontroller Code

Bouwen en een MONSTER muzikale Tesla spoel met een Microcontroller Code

bezoek mijn youtube-pagina voor meer projecten: http://www.youtube.com/channel/UCksEFn8xaLP0z4rsiHa9zcA?feature=mheeAls de wintermaanden komen, zullen velen worden gedwongen om binnen te blijven... Dit betekent voor velen, het spelen van scrabble met
PIC 16F917 Microcontroller programmeur

PIC 16F917 Microcontroller programmeur

In dit instructable, ik zal je laten zien hoe het bouwen van een 16F917 PIC -Microcontroller programmeren circuit. Deze Microcontroller is een zeer mooie vorm van de Microcontroller chip de beroemde chipfabrikant Microchip.Deze Microcontroller is een
5 redenen waarom u zijn niet staat te programma A Microcontroller

5 redenen waarom u zijn niet staat te programma A Microcontroller

wanneer beginnen met microcontrollers bent u waarschijnlijk sommige problemen in uw microcontroller programmeren en er is niets meer frustrerend dan verspillen uur te vinden van het probleem en nog steeds niet kunnen. Ik heb gewerkt met verschillende
Gemakkelijk 16F84 Microcontroller programmeur - JDM

Gemakkelijk 16F84 Microcontroller programmeur - JDM

In dit instructable, ik zal je laten zien hoe ik getest en dit eenvoudige maar krachtige circuit.De JDM programmeur is mijn favoriete Microcontroller programmeur. Het is een eenvoudige schakeling en compatibel met veel software laders.Ik heb dit circ
Het wijzigen van de fuse-bits AVR Atmega328p - 8-bit microcontroller met behulp van Arduino

Het wijzigen van de fuse-bits AVR Atmega328p - 8-bit microcontroller met behulp van Arduino

In dit instructable leert u hoe u kunt wijzigen van de fuse-bits van Atmega328p microcontroller. Ik ben met behulp van Arduino mega als programmeur aan programma Atmega328P-PU op breadboard. Het komt met een standaard 1MHz interne gekalibreerd oscill
3D afgedrukt Microcontroller-dobbelsteen Roller

3D afgedrukt Microcontroller-dobbelsteen Roller

Dit is een project van de just-for-fun die ik deed in de Digilent MakerSpace. Meestal wanneer ik speel bordspelletjes gebruik ik een dobbelsteen-rolling smartphone app aangezien dobbelstenen zo gemakkelijk zijn te verliezen. Ik dacht dat ik zou probe
Een microcontroller met 12Blocks Program

Een microcontroller met 12Blocks Program

toen heb ik de Web Clicker, ik een kopie van de ViewPort voor foutopsporing pakte en het was een redder in nood. ViewPort is ontworpen door Hanno Sander. Hij ontwikkelde ook een alternatieve IDE voor de Prop genaamd 12Blocks.Ik voor het eerst zag 12B
PropVario, een DIY Variometer/hoogtemeter met stem output voor RC zweefvliegtuigen

PropVario, een DIY Variometer/hoogtemeter met stem output voor RC zweefvliegtuigen

deze instructables zal u tonen hoe te bouwen van een goedkope Vario, die de hoogte spreken kon ennatuurlijk verschillende tonen te verzenden bij het wijzigen van de hoogte van uw zweefvliegtuig.Enkele kenmerken:-stem en Toon-je eigen monsters (Golf-)
Natuurkunde Fan kar

Natuurkunde Fan kar

Een gemeenschappelijk stuk van de apparatuur van het laboratorium van de natuurkunde is een apparaat genaamd een "fan kar." Misschien gebruikt u zelf toen u in middelbare school van college? Een fan-kar is in wezen een geringe wrijving dynamics
DIY pepermuntje DTMF Encoder/Generator!

DIY pepermuntje DTMF Encoder/Generator!

Wij vinden het vanzelfsprekend in de moderne tijd, maar slechts een paar decennia geleden (!), ik herinner me nog levendig dat met behulp van mijn roterende telefoon naar buiten bellen. Ergens in de middelbare school, met de komst van drieweg roeping
Autonome/RC menselijk Bot

Autonome/RC menselijk Bot

intro: 18 +ik ben een 24 jaar oude student aan technische Instituut York elektrotechniek studeren en dit is mijn robot die ik heb gewerkt voor een project en wilde delen met alle studenten, onderwijzers en hobbyisten.Deze robot kan worden aangestuurd
QuickPlayer: DIY zak spelconsole

QuickPlayer: DIY zak spelconsole

heb je die Direct-naar-TV-spelbesturingsapparaten die aansluiten op uw TV en spelen van video game classics.Ooit wilt maken van uw eigen video game systeem?U hoeft geen ervaring in het schrijven van code of creëren van graphics zoals ik zal u stap vo