Propeller Autopilot (5 / 13 stap)

Stap 5: Een opmerking over Spin


ik weet dat als het gaat om microcontrollers, de meerderheid van dit forum is gewijd aan de arduino. Zelfs als de arduino niet uw voorkeur microcontroller, verdient het altijd een knipoog-van-het-hoofd voor de toegankelijkheid, en de ontwikkeling van de uitgebreide bibliotheek.
Hoe dan ook, heeft dit project ontwikkeld met de propeller-chip, die gemakkelijkst in Spin geschreven is.
Dit is een goed moment om op te merken van de Parallax van goede wil tegenover de open sourcegemeenschap. De propeller-chip is nu volledig programmeerbaar in C/C++ dankzij de oprichting van SImpleIDE. De meerderheid van dit project werd geschreven in SimpleIDE te wijten aan het gemak van installeren in Linux, en voor accesiblity tot communicatie poorten.

https://sites.Google.com/site/propellergcc/documentation/simpleide

Terwijl ik liever voor dit project in C++ (voor gebruik van 2D-arrays, en voor een ondieper leercurve) code zullen alle voorbeeldcode die ik voor dit project geschreven heb in Spin. Dit heeft gedaan om het maximaliseren van de functionaliteit voor de deadline van de wedstrijd.
Spin: Pass door waarde
Passeren variabelen door waarde in Spin lijkt erg op c ++. Het enige grote verschil is dat wanneer u een lokale variabele in Spin declareert, u doen niet de naam een type, (dwz byte, woord, long). Dit is misleidend, omdat het maakt het lijkt Spin heeft dynamisch geheugentoewijzing; voor alles wat ik kon vertellen, is dit niet het geval.

Spin: Pass door verwijzing
Passeren variabelen in Spin is relatief eenvoudig. Het is echter anders dan C++ in dat u niet een pointer doorgeven, je gewoon langs het geheugenadres waarde, en dereferentie het adres binnen de functie. Ik gebruikte deze methode van het doorgeven van parameters uitgebreid terwijl het ontwikkelen van diverse vector wiskunde functie. In het volgende voorbeeld vullen we elke variabele in beide arrays met het cijfer 1. Geheugenlocaties worden opgehaald met de "symbool, en geheugen locaties zijn dereferenced door redeclaring van het type variabele en de variabele aanbrengend"[]":

Spin: Float Math
Float wiskunde in Spin is een gigantische pijn. Ik vier verschillende bibliotheken voor het gebruik van float wiskunde in draai gevonden, ze gebruiken verschillende nummers van radertjes uitvoeren bij snelheden van verschil en zijn vrij vanzelfsprekend. Een ding vermeldenswaard: als u een constante of variabele op een specifieke waarde zijn declareren direct in uw code en u van plan bent te gebruiken zwevend punt bewerkingen, u moet ervoor zorgen dat je een decimaalteken aan het eind van elk nummer.

Spin: Speciale Registers
Er zijn heel wat speciale registers in Spin. Ik zal lopen via een paar van hen hier, maar als je echt serieus bent over met behulp van de propeller-chip, u moet zeker Lees de releaseopmerkingen van toepassing, evenals een kopie van de handleiding gedownload naar uw computer. De meeste van deze registers worden gebruikt in de codevoorbeelden op de volgende stap.

DIRA: Dit register bepaalt die IOs op de propeller-chip uitgangen en ingangen zijn. U kunt deze registers met behulp van binair getal, decimaal of hex. De meest intuïtieve manier, echter, is binaire. Elke bit in het register is een van de propeller 32 IOs. Toewijzen van een 0 of een 1 aan dat beetje zal toewijzen dat IO als een input of output.

CTRA/CTRB: Deze twee registers instellen de modi van de teller gebruikt door elke timer. Wij gebruiken twee verschillende teller afhankelijk van of we een puls lengtemeting, of het schrijven van een.

PHSA/PHSB: Deze registers zijn waar de opgetelde waarden die zijn gegenereerd door onze items daadwerkelijk zijn opgeslagen. Op de meest basale modus, het aantal verstreken klokcycli hier opgeslagen.

FRQA/FRQB: Deze registers bevatten een factor die schalen van de teller, telkens wanneer het slaat naar PHSA/B.

Als al dat gepraat over de timers en teller modi is onbekend voor u, moet u zeker lezen de hoewel het wellicht niet geheel noodzakelijk zijn, zou ik sterk aanbevelen lezen door middel van alle van de propeller teller modi. Met behulp van het prestatiemeteritem goed krijgt u ongelooflijke controle over low-level IO-functionaliteit, en zal toestaan dat u fudge je een weg door bijna alle digitale communicatieprotocollen:
http://www.parallaxsemiconductor.com/an001

Gerelateerde Artikelen

De Propeller Microcontroller programmeren

De Propeller Microcontroller programmeren

de Propeller is een microcontroller van Parallax, dezelfde jongens die het maken van de Basic Stamp. Het is beschikbaar in een 40 via holes pin DIP, is snelle (120 MIPS), en gaat voor $8.Het is vooral handig voor het maken van Hi-kwaliteit audio, mul
Gemotoriseerd vliegen Propeller

Gemotoriseerd vliegen Propeller

De gemotoriseerde Flying Propeller kan vliegen tot 15' in de lucht, of zelfs nog verder horizontaal. Het is gemakkelijk om te bouwen, eindeloos onderhoudend, en ziet eruit alsof het als een stuk speelgoed moet worden verpakt. Allen die u wenst zijn h
Magnetische propeller balancer

Magnetische propeller balancer

Zo u een heleboel geld hebben uitgegeven aan uw diy quadcopter (of elke multirotor) en weigeren te geven meer, maar je moet nog steeds een propeller balancer. Evenwichtige propeller is zeer als niet het belangrijkste ding voor multirotors.Gissing wat
De magische Propeller

De magische Propeller

Inleiding:OK, dit is een dwaas, en ik heb zelfs toe vindt u een paar speelgoed zoals dit op het internet. Een site voor leerkrachten wordt beschreven hoe u een met behulp van een potlood. Maar ik voel me recht dit Instructable detachering, omdat ik m
Propel-a-Buds

Propel-a-Buds

Als je denkt van dingen die schijnbaar op muziek dansen die je waarschijnlijk denken aan mensen op een dansvloer. Echter zou je geloven dat een eenvoudige RC Quad-copter motor zou ook dansen?! Nou die ze volledig staat zijn van roterende, trillen en
Van Bowser Koopa Clown auto model met geluidseffecten, lichten, & propeller. Gemaakt van oude koektrommel.

Van Bowser Koopa Clown auto model met geluidseffecten, lichten, & propeller. Gemaakt van oude koektrommel.

Gereedschap hiervoor:VeiligheidsbrilWire cuttersmeshete lijmpistoolsoldeerboutboorBenodigde materialen:vormige zoiets de clown auto (ik gebruik een oude koektrommel met kurk bodem)Bowser speelgoed (ik kocht deze & zaagde hem in helft)draadpersoonlijk
Hand aangedreven vintage propeller speelgoed.

Hand aangedreven vintage propeller speelgoed.

Dit is gewoon een eenvoudige oude vintage speelgoed.Het duurt slechts enkele minuten om deze grappige project te bouwen.Maak een voor uw kinderen of waarom niet uw eigen;-).Stap 1: materialen Moet u goedkope materialen, ik gebruikte twee tong depress
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
Quadcopter HACK! [Ontwerp en print uw Propeller Guard]

Quadcopter HACK! [Ontwerp en print uw Propeller Guard]

Vandaag zal ik laten zien iets heel interessants vooral voor liefhebbers van vliegen hun quadcopters en doen luchtfotografie.DE 3D-GEDRUKTE PROP GUARD!... Kan ook worden laser gesnedenDus wat is een bewaker van de prop?Een Prop bewaker is iets zeer i
Steampunk-thema propeller plafondventilator.

Steampunk-thema propeller plafondventilator.

Mijn kinderen gaf me een 6' replica Sopwith propeller voor vadersdag en door een gelukkig toeval hadden we een plafondventilator nodig voor het Conservatorium. Een houtkachel verwarmt het Conservatorium in de winter, maar de lucht kon echt doen met c
Propeller klok (uit een oude HDD)

Propeller klok (uit een oude HDD)

oude HDD omgevormd tot een Propeller klok.PIC16F876A + magneetveld-sensor voor het tellen van het aantal omwentelingen.
Inleiding tot het Model vliegtuig Autopilot!!!

Inleiding tot het Model vliegtuig Autopilot!!!

Hi All!Ik ben twintig jaar oud. Ik pakte mijn arduino voor het eerst dat deze kerst, en ik heb het bijhouden van druk op mijn arduino toepassingen zodat ik u kan brengen dit instructable. Ik hoop dat het helpt!Het doel van dit project was het bouwen
Propeller klok

Propeller klok

Hallo vrienden,nu de propeller klok beschikbaar maken met behulp van 8051 controller familie.De 8051 controller wordt meestal gebruikt in school project, zodat u kunt uw eigen propeller met 8051,borstel de levering voor deze schroef u vereist 1200 RP
Gratis elektrische Propeller fiets Mod

Gratis elektrische Propeller fiets Mod

Update Instructable met test rit video op de link hieronder.Video van fiets en Propeller test.Ik wilde een elektromotor op mijn fiets gezet. Ik wilde niet te knoeien met een ketting en tandwielen, zodat ik het opbouwen van een schroef van de elektris