Bygg din egen (billigt!) multi-function Trådlös kamera controller. (12 / 22 steg)

Steg 12: Din första Program

Som med alla programmering, kan göra en grundläggande "hello world" ansökan bara att se till att allt fungerar och att AVR är ok.

Vi kommer inte att bråka med externa klockor, vi ska bara få ett LED att blinka på och av med jämna mellanrum. Koden är bifogat nedan och kallas "led_blinker.c", också i mappen är korrekt förseningen biblioteket vi behöver för detta projekt och en makefile. Bör du redigera din makefile att motsvara chip du använder - om du inte, det fungerar inte när du lägger upp det!

Låt oss ta en titt på koden då:

#include "adelay.h"
#include < avr/io.h >

Först förklarar vi vilka rubriker/bibliotek vi använder. Allt du behöver för detta är AVR in/ut och det korrekta dröjsmål biblioteket.

IO init
void init_io(void)
{
Alla utgångar på
DDRC = 0XFF;
}

Denna funktion kallas i början av programmet, det tar ingen ingång och returnerar inga värden, men det sätter upp chip redo för insats- och operationer. DDRD hänvisar till registret över riktning, i detta fall vi sätta den till hex värdet av 0xFF som ligger i binärt, 1111 1111. Detta ställer alla stiften på Port C vara utgångar. Det kan verka konstigt att ha bara ett kommando inuti en funktion, men detta kommer att bli större när vi lägga till ytterligare kod.

int main(void)
{
init_io();

While(1)
{
PORTC ^ = (1 << 1);
PORTC ^ = (1 << 2);
Delay_ms(1000);
}
tillbaka 1.
}

Den huvudsakliga funktionen är verkligen enkelt, först kallar vi init-funktionen för att få allt inrättas. Då vi går in en oändlig loop (AVRs bör aldrig avsluta den huvudsakliga funktionen). Använder funktionen nästa bitvisa operatorer, om du tänker göra några programmering för inbäddade enheter, du bör bekanta dig med detta. En bra tutorial finns här:. Vad koden gör, i en knipa, är växlar den på off status för stift 1 och 2 på Port C.

För vissa skäl instructables format ^ = till en exponent ibland, så ber om ursäkt. Det inte gillade också den < och > runt inkluderar (jag antar att det tycker att det är en rogue HTML-tagg).

Funktionen Delay_ms(1000) gör programmet paus för 1000ms (eller en sekund) och fortsätter sedan.

Så, det borde vara ganska uppenbart där detta kommer, det finns en oändlig loop (som while(1) är alltid sant) och varje gång loopen itererar, det växlar mellan stiftet och försenar en sekund, vilket ger oss en trevlig 1Hz blinker.

Använda makefile nedan, men döp om den till "makefile" först.

Nästa vi skicka detta till programmeraren och ladda upp den!

Se Steg
Relaterade Ämnen

Bygga din egen elektroniska Sampler gränssnitt för Ableton

Hej du. Jag är för närvarande en andra året musikteknik student. Målet med detta projekt var att utforma ett nytt instrument i någon form.I slutändan, det är ett elektroniskt gränssnitt och kan åter avbildas till olika ändamål, men den fysiska utform...

Bygga din egen dator

varför skulle någon gå ut och köpa en dator från en manufaturer som Dell eller Gateway, när de kunde bygga en mer kraftfull dator för mindre pengar? Svaret, de vet inte hur man bygger den.Detta kanske låter som en komplicerad process, men i alla verk...

Bygga din egen elektrisk motorcykel

ÖversiktDet färdiga projektet är en 1981 Kawasaki KZ440, omvandlas till elektriska. Den drivs av fyra Optima gul topp förseglade (AGM) bly-syra batterier, som driver en Briggs & Stratton Etek elmotor. Hastigheten på motorn styrs av en Alltrax varumär...

Bygg din egen hörsel Augmented Seashell!

i detta Instructable jag kommer att förklara hur man bygger din egen hörsel Augmented Seashell. Nu, innan vi börjar, vad är en auditiv Augmented Seashell?Svar: i princip är det en snäcka kan producera andra ljud än det redan gör. En snäcka producerar...

Bygga din egen Mobility Rehab handikappade Scooter för mindre än $500

Jag kan visa dig hur du konverterar en rakkniv E300 skoter, föreslår jag att du köpa från Amazon.com bör vara omkring $250, i din egen Rehab handikappade scooter. E300 skoter får du har bara en hastighet. Hög hastighet, eller kusten, inget däremellan...

Bygga din egen gateway brandvägg

lär dig att bygga din egen gateway brandvägg med FreeBSD® och gamla PC delar. Brandväggen kommer att bestå av PF brandväggen, Snort-ID: N, olika IPS applikationer, Squid proxy och några intuitivt webbgränssnitt för revision. Kostnaden för detta proje...

Bygga din egen FM-Radio Astronomy Lab

eftersom jag är en enkel man, och tanken på att försöka förstå allt okändan är mer än jag kan hantera, jag föredrar den enklare sidan av astronomi. Min personliga astronomi verktyg inkluderar ett 4,5" reflektor teleskop, ett par av kikare och en FM-R...

Bygga din egen laptop

varför skulle någon gå ut och köpa en dator från en tillverkare som Dell eller Gateway, när de kunde bygga en mer kraftfull dator för mindre pengar? Svaret, de vet inte hur man bygger den.Detta kanske låter som en komplicerad process, men i alla verk...

Bygga din egen "Spy Satellite"

Jag har alltid trott det skulle vara snyggt att ha din egen "Spion" satellit. Det faktum att vi har vår egen Spy satelliter reser runt jorden bara förvånar mig. Så varför inte ha din egen? Följande instructable visar hur att göra just det, bygga...

Hur man bygger din egen jetmotor

du behöver inte vara Jay Leno att äga en jet drivs motorcykel och vi visar dig hur du gör din egen jet enigne här för att driva dina galna fordon. Detta är ett pågående projekt, och gott om ytterligare info kommer snart att publiceras på vår hemsida....

Bygga din egen (metallbearbetning) svarv - del I

du kan göra en hel verkstad till ett värde av elverktyg maskin, med grundläggande järnhandel/home center leveranser och metallskrot av svarta metaller. Smälta aluminium i en metall-hink ugn, med sand, träkol och en lera blomkruka! Cast sofistikerad m...

DIY, BYGGA DIN EGEN DIGITALA BINARY CLOCK!

Detta Instructable visar hur man bygger en digital klocka på enklaste sätt. Du behöver bara några verktyg och lite tid...Steg 1: Introduktion Det finns två sätt att bygga din egen binär klocka.1.-en är till göra din egen PCB. Att lära sig lite av mik...

Bygg din egen elbil: Billiga

Hej alla,Detta är en presentation jag gjorde på moder jord mässan september 25th 2010.I den täcka jag de steg som det tog för mig att bygga en elbil på en budget.Det var bara en 45 minuters presentation, så vissa saker var bara berörde som i sig kan...

Bygg din egen elbil!

"Electro-Metro" projektet.Har inte råd en Nissan Leaf? Inga problem!Bygga en billig elbil själv genom att ta bort den bilen motorn, ersätta den med en gaffeltruck motor, och lägga till batterier.Jag har massor av videor om projektet på:http://ww...

Bygga din egen jorden ugn

Vem älskar inte läcker vedeldad ugn pizza? INGEN.Jag hade en dröm om bakgård pizza part kul gånger och började göra en del efterforskningar att göra det dröm verklighet.Först tittade jag på material kostnaden för en tegelugn (spoiler alert: de är all...

Bygga din egen ficka SID Audio Player

Låt oss tid reser tillbaka till 80-talet igen genom att skapa din egen Propellerpowered Pocket SID Audio Player.]Den Guinness rekordbok listar Commodore 64 som den bäst säljande datormodellen genom tiderna. C64: an mest övertygande funktioner var det...

Bygg din egen upphöjd trädgård säng! Odla din egen mat!

i denna blogg, vi hoppas att instruera dig att bygga din egen trädgård säng. Lära av våra misstag och odla din egen mat hemma!Steg 1: fördelarDet finns många fördelar med att bygga en uppvuxen trädgård säng!1) är det lättare på din rygg! Du behöver i...

Bygg din egen bärbara rostfritt stål fälgar tube - och hela bara väger bara 17 kg!

Jag är en långsiktig homebrewer men jag har alltid gjort enda steg infusion mosar. Jag har alltid velat en fälgar eller HERMS system men jag inte gillar det utrymme ett fullständigt system tar upp och jag har alltid backade på grund av kostnaden. Men...

Hemma Hydroponics - en handbok om hur att bygga din egen hydroponics system

IntroduktionOrsakerna och effekterna av överbefolkningÖverbefolkning ska inte tas lättvindigt. Den har några fruktansvärda effekter, en av dem är en brist på mat. Våra för närvarande överbefolkad värld orsakas av den industriella revolutionen. Den in...