Bouw je eigen (goedkope!) multifunctionele draadloze camera controller. (12 / 22 stap)

Stap 12: Uw eerste programma

Laat doen een basistoepassing alleen maar om ervoor te zorgen dat alles werkt en dat de AVR ok is ingesteld om "hello world" zoals met alle programmering.

We zullen niet knoeien met externe klokken, we gaan gewoon om een LED knipperen aan en uit met regelmatige tussenpozen. De code is die hieronder zijn toegevoegd en heet "led_blinker.c", ook in de map zijn de nauwkeurige vertraging bibliotheek we voor dit project en een makefile moeten. U moet bewerken uw makefile overeenstemmen met de chip u - als u dat niet doet, zal het niet werken wanneer u het uploadt!

Laat een kijkje nemen op de code vervolgens:

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

Eerst verklaren wij wat headers/bibliotheken die we gebruiken. Alles wat u nodig hebt voor dit is de AVR in/out bibliotheek en de nauwkeurige vertraging-bibliotheek.

io init
VOID init_io(void)
{
Alle uitgangen op
DDRC = 0XFF;
}

Deze functie wordt aangeroepen bij het begin van het programma, het neemt geen input en geeft geen waarden als resultaat, maar worden ingesteld de chip klaar voor input- en output-operaties. DDRD verwijst naar het register van richting, in dit geval zetten we het op de hexadecimale waarde van 0xFF oftewel, in binaire, 1111 1111. Hiermee stelt u alle de pinnen op poort C als uitgangen. Het lijkt misschien vreemd dat slechts één opdracht binnen een functie, maar deze krijgt groter aangezien wij meer code toevoegen.

int main(void)
{
init_io();

while(1)
{
PORTC ^ = (1 << 1);
PORTC ^ = (1 << 2);
Delay_ms(1000);
}
return 1;
}

De belangrijkste functie is heel simpel, eerst noemen we de init functie om alles instellen. Vervolgens betreden we een oneindige lus (AVR's moeten nooit verlaten de hoofdfunctie). De volgende functie wordt gebruikt met bitsgewijze operatoren, als u van plan bent om een programmering voor ingesloten apparaten te doen, moet u vertrouwd zijn met dit. Een goede tutorial is hier:. Wat de code doet, in een snuifje, is knevels de op uit status voor Pin 1 en 2 op poort-C.

Voor sommige reden instructables formaten ^ = in een exponent soms, dus excuses.  Het hield ook niet de < en > rond omvat (ik denk dat hij denkt dat het is een rogue HTML-tag).

De Delay_ms(1000) functie maakt het programma onderbreken voor 1000ms (of één seconde) en vervolgt.

Het moet dus, vrij duidelijk zijn waar dit gaat, er is een oneindige lus (zoals while(1) altijd waar is) en telkens wanneer de lus een iteratie uitgevoerd, schakelt u de PIN-code en vertraging van een seconde, geven ons een mooi 1Hz blinker.

De makefile hieronder gebruiken, maar de naam 'makefile' eerst.

Volgende we sturen dit naar de programmeur en upload het!

Gerelateerde Artikelen

Hoe te: bouw uw eigen goedkope kast deuren!

Hoe te: bouw uw eigen goedkope kast deuren!

Ik ben erg kieskeurig als het gaat om kast deuren, ik hou niet echt van een van de opties die er zijn. Eerst hebt u de rollende kast deuren, die altijd, dekken de helft van de kast helft van de tijd en zijn een beetje een nachtmerrie te installeren,
Maak een quadcop met een draadloze camera!!

Maak een quadcop met een draadloze camera!!

In onze kindertijd die we allemaal hebben gezien vliegtuigen en helikopter vliegen in de lucht of in tekenfilms en wilden we allemaal op een bepaald punt van tijd te maken voor ons. Ik ga dus nu uw droom waar te maken. We gaan bouwen een quadcopter i
Draadloze camera + parabolische spiegel

Draadloze camera + parabolische spiegel

Heb een klant die we installeerden draadloze camera's voor, maar een camera is zowat buiten het bereik. dus in plaats van hem uit de dop meer geld voor een hogere winst-camera, besloten heb ik om de parabolische methode te gebruiken. Vóór, stuiterde
Draagbare draadloze MAME Controller

Draagbare draadloze MAME Controller

Beschrijving:Dit project kan je een Portable Draadloze Controlemechanisme van de MAME fabriceren. De MAME (Multiple Arcade Machine Emulator) doos die ik gebruikte was een Raspberry Pi met geavanceerde Mame maar een doos ondersteuning van USB kan word
DIY FPV bril voor draadloze camera

DIY FPV bril voor draadloze camera

Ik heb onlangs verworven een UAV, dus ik heb is leren hoe te vliegen... langzaam... Een paar dagen geleden ik besloot om te vliegen met FPV (First Person View) en realiseerde me dat zelfs met het scherm van mijn mobiele telefoon met volledige helderh
Multifunctionele RGB LED controller met PIC12F675

Multifunctionele RGB LED controller met PIC12F675

multifunctionele RGB LED controller met low-cost PIC12F675 microcontroller.kenmerken:1, 4 + 1 modus bewerking een enkelvoudige potmeter en één knop schakelen gebruikt om meerdere2, EEPROM geheugen optie voor modusselectie:-de laatste modus zal worden
Maak uw eigen goedkope USB MIDI-Controller of toetsenbord

Maak uw eigen goedkope USB MIDI-Controller of toetsenbord

Ik was op zoek naar een USB MIDI controller-apparaat (of interface) voor muziek toepassingen zoals piano of orgel toetsenbord of pedalboard. Na wat onderzoek wilde ik gaan naar een meer "zelfgemaakte" oplossing. Mijn keuze is tenslotte gericht o
Bouw uw eigen logica sonde op de goedkope met behulp van een 555 Timer!

Bouw uw eigen logica sonde op de goedkope met behulp van een 555 Timer!

Hallo! Door te klikken op dit instructable je een stap dichter bij het gebouw een goedkoop, gemakkelijk om te bouwen, en wat nog belangrijker is nuttig kleine gadget... een logica sonde! Een logica sonde is handig wanneer u werkt met verschillende ch
Bouw uw eigen Butler Robot!!!  -Tutorial, foto's en Video

Bouw uw eigen Butler Robot!!! -Tutorial, foto's en Video

bewerken: meer informatie over mijn projecten Bekijk mijn nIk doe ook consulting voor speciale effecten projecten/producten, Robotica en mechatronica. Kijk op mijn website - narobo.com voor meer details.Ooit wilde een butler-robot die tegen je praat,
Hoe bouw je eigen DARPA Robotics Challenge finale Robot. Echt!

Hoe bouw je eigen DARPA Robotics Challenge finale Robot. Echt!

of hoe niet te winnen van 2.000.000 en hebben plezier doen.IntroductieDit is de eerste in een reeks van instructables die is bedoeld als volledige documentatie van hoe we onze 2013 bouwden/2015 DARPA Robotics Challenge Robot (met de naam Buddy in de
Bouw uw eigen CNC-Machine.

Bouw uw eigen CNC-Machine.

Toen ik voor het eerst naar Pittsburgh verplaatst, had ik een serendipitous moment wanneer ik liep door een plaats genaamd TechShop. Velen van u kunnen heb gehoord maar ik heb niet en het personeel was vriendelijk genoeg om me te geven tour. De plaat
Bouw uw eigen elektrische auto!

Bouw uw eigen elektrische auto!

De "Electro-Metro"-Project.Zich niet veroorloven een Nissan Leaf? Geen probleem!Een goedkope elektrische auto zelf bouwen door het verwijderen van de de motor van de auto, het vervangen van de motor van een heftruck, en het toevoegen van batteri
Bouw je eigen Micromite Companion Minicomputer

Bouw je eigen Micromite Companion Minicomputer

De Micromite Companion Minicomputer is de volgende generatie in de Pocket Mini Computer-serie.Het is de combinatie van twee Open Source systemen, de software van de Micromite, een creatie van de PIC32 door Geoff Graham en de Parallax Propeller, een o
ServDuino - de website van Arduino bouw uw eigen server

ServDuino - de website van Arduino bouw uw eigen server

The Arduino Ethernet Shield is een zoete speelgoed!  Iedereen, van de beginner die heb hun Arduino gisteren en is niet sliep sinds, tot de harde kern pro die geleerd c als tweede taal kunt leren hoe te gebruiken van de Ethernet-Shield en hebben veel