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

Stap 11: Schrijven en compileren van de Code van de AVR


Schrijven van de code is zeer eenvoudig, kunt u het doen in C of assembler. Ik koos C omdat ik meer comfortabel in het ben en het is gemakkelijker voor anderen om te zien wat ik doe. U kunt elke gewenste teksteditor om de .c bestanden (en alle headers, etc) en mijn voorkeur voor het compileren/linken is met behulp van de command line (het is vrij gemakkelijk).

Ten eerste, download een exemplaar van WinAVR - http://winavr.sourceforge.net/ of MacAVR http://www.harbaum.org/till/macavr/index.shtml

WinAVR is een suite van nuttige tools zoals de compiler, headers/codebibliotheken en meer. In principe alles wat die je nodig hebt om te beginnen met programmeren en het uploaden van uw code.

Codering voor AVR's is heel eenvoudig. U gewoon uitschrijven uw code met behulp van normale C, kunt u het opnemen van standaard bibliotheken voor het sorteren, string manipulatie, wiskunde en nog veel meer. U hoeft te nemen van de relevante AVR bibliotheken zoals de io, slaap, interrupt pakketten, afhankelijk van wat uw code bevat (de bibliotheek is altijd nodig).

Nadat de code is geschreven, moet het worden gecompileerd en gekoppeld. De eenvoudigste manier om dit te doen is met behulp van een makefile. De makefile doet al het harde werk voor u, alles wat je doet is geeft u de naam van uw C-bestanden en alle bestanden van de vergadering (moet worden aangeroepen. S - hoofdlettergevoelig) en de processor die u gebruikt. Dit bestand gaat in dezelfde map als uw broncode.

Er is een goede sjabloon hier: http://electrons.psychogenic.com/modules/arms/art/8/AVRProjectOrganizationStandardizedAVRMakefileTemplate.php

Ik zal niet gaan door het proces van het schrijven van een bestand, de sjabloon hierboven is toegelicht en moet duidelijk :)

Om te compileren eigenlijk uw code in het .hex binaire bestand dat uw micro kan begrijpen, we gebruiken de MS-DOS-prompt. Navigeer naar de map die u nodig hebt met de opdracht 'cd' vervangen door de map van het bestand. Simpelweg type "Breng hex" en druk op enter. Wat zou moeten resulteren, is een paar lijnen van het schrijven die u kunt negeren en een hexadecimaal bestand moet worden weergegeven in de map met uw broncode. Als om het even wat verkeerd ging, zal de compiler een fout meestal met een regelnummer en het bestand dat de fout was in spugen. Vervolgens kun je aan de lijn verwijzing, positiebepaling naar de werkstuk en probeer het opnieuw. De code geef ik hier moeten worden compileerbaar, of ten minste compileert op mijn machine. Ik zal niet zeggen bug-vrij omdat geen code ooit is!

Ik zal proberen, als ik kan om te geven een run down van wat de code doet.  Het is mooi ook commentaar in mijn mening dus moet vrij zelf verklarend voor ervaren programmeurs. De code die we gebruiken is vrij ingewikkeld en aanbiedingen met een heleboel dingen die nieuwkomers weten willen, omgaan met input en output, interfacing met een display, met behulp van de ADC en Timer interrupts, slapen modi en meer. Het was een geweldige primer voor mij in ieder geval = D

OK, gaan laat op uw eerste programma en proberen om het te uploaden!

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