AVR chronograaf van concept aan PCB (5 / 13 stap)

Stap 5: Inleiding tot de ATMEL Studio IDE


Is het tijd om weer in ATMEL Studio en het maken van het project.  We zullen het schrijven van de software in C.  Als u niet weet niets over C nog, dat is ok.  U kunt de code kopiëren, of ik wil het beschikbaar om te downloaden als u wilt nemen de gemakkelijke weg.  Ook leg ik de code in secties vergelijkbaar met de manier waarop die ik het schema uitgelegd.  "C programmeren voor Microcontrollers" Is ook een uitstekend middel voor beginners leren programma AVR's.  De PDF kan hier gedownload worden: http://www.4shared.com/office/2y4F0nMo/c_programming_for_microcontrol.html

Ga terug in ATMEL Studio 6, en op de startpagina, klik op 'nieuw project'.  Aan de linkerkant van het venster dat opent, klikt u op C/C++ omdat wij zal het schrijven van onze code in C.  Kies vervolgens in het midden van het venster, 'GCC C uitvoerbaar Project' (zie foto 2).  GCC is de C-compiler dat onze code in een HEX bestand de AVR vertalen zal kan begrijpen.  Typ een naam voor het project uit, kies een locatie en klik op 'OK'.  Een ander nieuw venster verschijnt waarin u wordt het apparaat u gebruikt (pic 3.)  Kies ATMega328P en voordat u op OK klikt, zoek aan de rechterkant van het venster.  Hier kunt u downloaden van het apparaat gegevensblad en leren over ondersteunde hulpprogramma's.  Klik op 'OK' en we zullen eindelijk de ATMEL Studio IDE (geïntegreerde ontwikkelomgeving - pic 4.)

Aan de rechterkant vindt u het "solution explorer" venster.  Dit is handig voor het weergeven van de bestanden die worden gebruikt in uw project.  Het grote venster in het midden is de *. C-bestand al open voor u om te beginnen met het schrijven van de code.  Dat gaat echt alles wat we nodig om dit project, maar u moet gaan naar het helpmenu en kijk rond.  Het brengt u naar ATMEL's site waar u een ton van informatie vindt over het gebruik van deze software.  In het bijzonder opzoeken wat info over de AVR-simulator.  Het is eigenlijk een software-versie van een AVR-chip die kunt uw programma testen en tonen u vele runtime-Staten van de chip.  Het is vrij koel, maar ik zal niet met betrekking tot het hier omdat we niet echt nodig voor dit project.

In het hoofdvenster, zal er sommige groene tekst met de projectnaam, de datum, en de auteur spullen aan de top.  Elke bit van de tekst in het groen is een commentaar.  Wanneer u typt een "/ /" alles die op die regel volgt zal in een commentaar.  OF, u kunt beginnen met een opmerking met "/ *" en sluit deze later met "* /".  Op die manier kunt u opmerkingen die heel gemakkelijk oppakken van meerdere regels hebben.  Het is ook handig tijdens de foutopsporing om te "uitcommentariëren" lastig coderegels te testen zonder hen en gemakkelijk '' ze uncommenten later.

De instructie '#include' is de eerste echte code die we zien.  Hij draagt de compiler te nemen (Stel dat!) de bestanden die na de instructie '#include' komt.  < Avr/io.h > is in dit geval een hex bestand dat geeft de compiler specifieke informatie over de verschillende AVR chips die we kunnen gebruiken.

int main(void) - Dit is het hoofdprogramma lichaam, Nou ja, het begin van het toch.  "Main()'" is eigenlijk een functie (meer over functies later) die moet worden in elk programma en bevat alles in ons programma.  Andere functies kunnen worden aangeroepen vanuit binnen Main() waardoor de stroom van het programma te verlaten Main(), maar als de andere functie is zijn werk voltooid, het moet terugkeren naar Main() voort te zetten.

while(1) is een oneindige lus, waar onze belangrijkste code zal worden uitgevoerd over en over en over.  De '1' is de voorwaarde om de lus te lopen en kan ook bestaan uit een expressie zoals: while(a == 1) in welk geval de lus wordt voortgezet totdat 'a' het niet bij een meer haalt.  Wij willen onze lus te voeren voor eeuwig, dus while(1) zal dat voor ons doen.  De compiler de expressie tussen haakjes na de 'while' bekijkt en evalueert het als ofwel wordt true of false.  Op basis daarvan de lus zal blijven als de waarde true.  Als we willen om uit te voeren voor eeuwig, we slaan de expressie en vertel de compiler dat het waar altijd is door een '1'.

in de programmering van dit type zijn er vele manieren om te zeggen fundamenteel het zelfde ding in verschillende contexten.  EX.  '1' is 'logische hoog' is 'true' is 'set' en '0' is 'logische laag' is ingesteld op 'false' is 'duidelijk'... het kan krijgen een beetje verwarrend, maar... Nou, het is gewoon verwarrend.  ---verwijst naar dat PDF boek ik gekoppeld aan hierboven 'C programmeren voor Microcontrollers.'  Het heeft alle info die u wilt sommige zin uit C. ***

Merkte u de accolades "{}"?  Dit zijn hoe we vertellen de compiler voor de behandeling van alle lijnen van code die zijn vervat in de accolades als één blok samen worden uitgevoerd.  Bijvoorbeeld, zal de while(1) lus continu alle instructies opgenomen binnen de accolades onmiddellijk na while(1) uitvoeren.  Als er geen accolades, de while lus zou alleen uitvoeren de eerste instructie na de while(1) over en voorbij.  Aandacht besteden aan deze accolades.  telkens als er een open accolade ' {', moet er een nauwe accolade'} ' gekoppeld.  Als u een nauwe accolade mist, zal de compiler zoekt u naar de volgende nauwe accolade die worden aangetroffen en voeren alles tussen de twee als een blok... Het verlaten van een van deze uit is een goede manier om jezelf te vinden tijd doorbrengen je hoofd proberen te achterhalen waarom het programma niet wat je denkt dat het moet krabben!

while(1) {thisishowthecompilerseeswhatyoutype; it'shardforapersontoread, butthecompilerlikesit;}

Dat was moeilijk te lezen was het niet?  Dat is waarom de while(1) en de bijbehorende accolades zijn tabbed over rechts.  Wanneer de accolades en het blok die zij bevatten zijn met tabs, is het veel gemakkelijker te identificeren van de code als een blok.  Deze opmaak doet niets voor de compiler; het is alleen om de code gemakkelijker voor mensen om te lezen.  Kun je extra spaties, tabs en regeleinden alle gewenste; ze zijn onzichtbaar voor de compiler.  Het is een goede gewoonte voor het opmaken van uw code op deze manier en het toevoegen van veel commentaren.  Een jaar vanaf nu zult u nooit onthouden wat u dacht toen u schreef die nieuwe functie, en de opmerkingen/opmaak zal helpen u om de snelheid sneller terug te brengen.

Nu zijn we klaar om te beginnen met het toevoegen van onze eigen code aan het programma.  In de volgende stap zullen we kijken naar de voltooide code in secties om te begrijpen zo gemakkelijk mogelijk maken.

Gerelateerde Artikelen

Maken van weefsel aan PCB "SnapBricks"

Maken van weefsel aan PCB "SnapBricks"

als ik blijf mijn verkenning met e-textiel- en weefsel gebaseerd ingangen, liep ik over een probleem wanneer het proberen om prototype sommige draagbare knoppen die ik had gemaakt. Ik moest een manier de geleidende stof verbinden met een prototyping-
Ontwerpen van een uitbreiding PCB (Intel® IoT)

Ontwerpen van een uitbreiding PCB (Intel® IoT)

Dit Instructable is geschreven als een uitgangspunt voor degenen die graag gebruik van de Intel® Edison aan haar volle potentieel, door het op te nemen in een volledig ontwikkelde ingesloten project. Om dit te doen, u zult waarschijnlijk moeten maken
Ontwerpen van een romantische PCB met behulp van een gratis PCB design tool - EasyEDA

Ontwerpen van een romantische PCB met behulp van een gratis PCB design tool - EasyEDA

Heb je ooit geprobeerd om het ontwerpen van een PCB voor uw minnaar, kinderen of vrienden op een speciale dag? Waarom niet?PCB ook zou een geweldig cadeau dat openbaart dat uw creativiteit zal ook uw PCB-vaardigheden. Hier wil ik delen een romantisch
Toevoegen van een aan-/ uitschakelaar aan een Mixer Xenyx 1202

Toevoegen van een aan-/ uitschakelaar aan een Mixer Xenyx 1202

Voor mijn stem over werk gebruik ik een Xenyx 1202 4-kanaals mixer gemaakt door Behringer die niet over een aan-/ uitschakelaar.Stap 1: Beoordelen waar we de schakelaarVoor het aandrijven van het, moet het stroomsnoer van de transformator worden inge
Kaketoe papegaai lederen masker Tutorial: Van Concept tot voltooiing

Kaketoe papegaai lederen masker Tutorial: Van Concept tot voltooiing

Hallo, mijn naam is Chelsea en dit is mijn tweede gepubliceerde Instructable.In dit Instructable, will ik be wandelen u door de stappen voor het maken van een premium kwaliteit leer mask; van het concept van het ontwerp en de initiële aankoop van het
Afgedrukt van de printplaat (PCB) sproeier Machine

Afgedrukt van de printplaat (PCB) sproeier Machine

Hoe zou u willen maken van één of meerdere Printed Circuit Boards in minder dan 2 minuten?Hey weer.  Hoop dat iedereen genoten van mijn laatste Instructable op hoe maak je een grijphaak launcher.  Vandaag ga ik een iets andere weg van de schepping.Di
Bewijs van Concept Valveless Air Canon

Bewijs van Concept Valveless Air Canon

voor de langste tijd heb ik geïntrigeerd met canons van alle soorten. Eigenlijk om het inkoken hou ik van luid explosieve anythings. Hoe harder hoe beter. Als het gaat boom en je het in je borst voelt verliefd ik. Vanwege deze fascinatie en de relati
DIY: Het maken van uw eigen PCB boor met behulp van goedkope materialen...

DIY: Het maken van uw eigen PCB boor met behulp van goedkope materialen...

Hallo iedereen... im een studentuit Bangalore.. .not iedereen verschilt. maar ik heb één of andere hoeveelheid rage in de elektronica... Dit is mijn eerste... kunnen instrueren te basic.. .maar ik vond mijn idee voor starters in de elektronica.. .bas
Brede fiets wiel hubs maken en het toevoegen van hen aan auto velgen. DEEL 2!

Brede fiets wiel hubs maken en het toevoegen van hen aan auto velgen. DEEL 2!

Dit is een follow-up van mijn oorspronkelijke "brede fiets wiel hubs maken en ze aan te koppelen aan auto velgen!" Instructable.Het origineel kan hier worden gevonden:Dit Instructable is meer uit de uitlokker van een idee, een manier om te bevor
Hoe te uploaden van muziek aan Google Play

Hoe te uploaden van muziek aan Google Play

Google kunt u tot 20.000 liedjes opslaan op uw eigen cloud kostenloos via Google Play. Google Play kunt u toegang tot uw favoriete muziek overal vanaf uw computer naar uw mobiele telefoon. In een paar eenvoudige stappen zal u zitten kundig voor uw mu
Maken van kwalitatief hoogwaardige PCB thuis zelf

Maken van kwalitatief hoogwaardige PCB thuis zelf

Hallo vrienden!In deze video tutorial ga ik om te leren hoe te maken van hoge kwaliteit pcb thuis.U kunt het zelf doen, laten we kijken naar de video.
Brede fiets wiel hubs maken en het toevoegen van hen aan auto velgen!

Brede fiets wiel hubs maken en het toevoegen van hen aan auto velgen!

Dit is een project dat ik deed in het begin van het jaar voor de ratrodbikes.com spier Bike Build-off. Het bleek zeer succesvol en wilde het delen met anderen... Onthoud dit is slechts een idee wordt verleend, hoe goed het blijkt uit de individuele b
De metro van Londen aan op uw computer

De metro van Londen aan op uw computer

In dit Instructable, ik zal u tonen hoe u een live kaart van de metro in Londen kunt bekijken op uw computer.Dit is ook een vervolg op de Live Air Traffic Instructable.Stap 1: De Website Kunt u deze website op twee manieren:1. Kopieer dit: http://tra
Met behulp van Drijfhout aan kruid omhoog uw kamer

Met behulp van Drijfhout aan kruid omhoog uw kamer

Met behulp van Drijfhout aan kruid omhoog uw kamerPlanning voor sommige huisdecoratie? Huis decoreren kan moeilijk maar het kan ook heel eenvoudig. Drijfhout kan de perfecte en het beste medium om die natuurlijke flare naar elk willekeurig deel van u