Een geavanceerde benadering van programmering van Arduino & AVR (3 / 7 stap)

Stap 3: Programmeren van de Arduino UNO rev3 uit WinAVR omgeving


Om te programmeren van de arduino via de WinAVR, moet u eerst het downloaden van hier.

Voordat u verder, hebt u een blik bij de toewijzing van de pin van de kern Atmega328 chip als de Arduino UNO. Neem enkel een blik bij mijn bijgevoegde pic. Ze zijn allemaal in de vereiste volgorde gerangschikt. Hoewel de chip is gemarkeerd als Atmega168 maar Atmega328 ook de dezelfde pin toewijzing heeft.

Hier zullen we knipperen de onboard LED met behulp van die winavr.the LED(marked 'L' on board) is aangesloten, zoals weergegeven in de derde afbeelding.

Als wij alleen de LED-circuit gewonnen van het bord (met uitzondering van alle andere componenten), dan het circuit zal worden behandeld zoals dat in de derde foto. De opamp gebruikt hier is geconfigureerd als een buffer dwz ongeacht het krijgt in pin #5(0/1), het geeft precies dezelfde productie tegen pin #7.The belangrijkste reden hierachter is te voorzien van voldoende stroom om de LED te rijden.

Zodat u zien kunt dat de atmega328p pin #19 is het besturen van de LED via de opamp. Zoals u zien kunt dat het digital13 in arduino pinout en PB5 in AVR pinout is gemarkeerd. Hou het in gedachten, zullen we over het binnenkort.

Nu gaan we terug waar we waren. Na het downloaden van de WinAVR, door het te installeren. Voordat u verder, maak een map genaamd "Blink" op het bureaublad. Dit is waar we alle bestanden zal blijven over ons project WinAVR knipperen. Ga nu naar Start > Alle programma's > WinAVR-20100110.Click op het en lopen de Programmer's notepad. Klik nu op Bestand > Nieuw > C/C++ en u zult iets zien dezelfde als pic4. Nu opslaan door te klikken op Bestand > opslaan als en kennis van het pad naar Blink map op bureaublad en geef het bestandsnaam als main.c.Now hebben we onze 'c'-bestand. Kijk net onder het bestandsmenu, de naam moet worden gewijzigd in main.c.

Nu hier het grootste deel komt, het programma zal worden zoals hieronder. Zoals ik ben niet het geven van een tutorial over AVR het platform/AVR programming tutorial, zal ik alleen korte uitleg voor elke regel. Als u meer weten wilt over

bijzondere AVR familily het platform/programmering, dan heb ik enkele goede boeken/link aan het einde van dit eenmalig zal noemen.

OK, voor nu, laten we beginnen ons blink-programma in WinAVR.

#include //This is ten aanzien van alle definities van de vereiste hardware voor de AVR.

#include / / This is ten aanzien van de functies van de vertraging.

int main(void) //starting van main

{

DDRB | = (1 << 5); PB5 configureren als uitvoer door writing 1 naar gegevens richting register(DDR).

while(1) //entering in oneindige lus

{

PORTB ^ = (1 << 5); //Toggle de provincie PB5.

_delay_ms (1000); //Delay 1s

}

}

Nu het minimaliseren van de programmer's notepad.

Klik op Start.in zoeken, typt u "Mfile" en druk op enter. Nu wordt een nieuwe Makefile geopend. Nu Let ten aanzien van dit deel, als dit waarschijnlijk de meest cruicial deel voor de programmering van Arduino vanuit WinAVR IDE is.

De Makefile bevat in principe alle benodigde instellingen om te branden van het programma naar de chip. Nu als volgt te werk zoals beschreven.

1) Klik op het tabblad "Makefile" en de Klik op de laatste optie dwz "Enable editing van Makefile". Wel zal u zitten kundig voor wijzigen van de parameters van de Makefile.Check Pic #5

2) nu Klik opnieuw op de "Makefile" tabblad en klik op "MCU type > ATmega > en kies de MCU als Atmega328P uit de lijst. Klik op Bestand > opslaan.

3) nu kunt u zien, dat de MCU wordt gemarkeerd met gele kleur in het Make-bestand als op Pic #6.

4) net onder de MCU = atmega328p, zal er #processor frequentie. Op de laatste regel van de #processor frequentie dwz F_CPU = 8000000 (standaard) wijzigen in 16000000 zorgvuldig (net weglaten van de 8 en typ 16. Beware van de 0s. Zal er 6 0s.) Controleer Pic #7.This is omdat de arduino op 16MHz.Click op bestand draait > opslaan.

5) Klik nu op de Makefile tabblad en selecteer programmeur > stk500v2. Nu binnen de Makefile, zal dit laten zien"

AVRDUDE_PROGRAMMER stk500v2 = "in de gele markering. De stk500v2 weglaten en typ "arduino". Controleren van de pic #8.Click op Bestand > opslaan.

6) nu je arduino Uno Rev3 aan uw PC koppelen. Minimaliseer de Makefile en vlak tikken voort mijn computerpictogram. Klik vervolgens op beheren en klik vervolgens op Apparaatbeheer. Neem nota van de haven niet van de arduino uno. Controleer zal pic #9.This variëren van mij naar jou. De mijne was 22.

7) nu hervatten de Makefile.Just vervolgens wanneer u hebt getypt "arduino", zal er poort # definitie voor de avrdude. Dit zal worden weergegeven als "AVRDUDE_PORT = com1". Nu het weglaten van de '1' en typ uw arduino poort #. Ik typte "22". Klik op Bestand > opslaan. Selectievakje pic #10.

8) nu na enkele lijnen van de poort-definitie, wordt er een lijn "#AVRDUDE_VERBOSE - v - v =". Nu net na deze lijn, type "AVRDUDE_BAUD =" 115200. Klik op Bestand > opslaan. Selectievakje pic #10.

Door deze regel toe te voegen, definiëren we de baudrate voor de seriële communicatie tussen de boordcomputer Atmega328P en de aan boord USB naar seriële converter voor de arduino uno. Dit kan zijn verschillend voor verschillende Arduinos.

9) de volgende lijn zal worden "AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) - c $(AVRDUDE_PROGRAMMER)".

Toevoegen "-b $(AVRDUDE_BAUD)" aan het einde van de vorige regel, voorafgegaan door een "ruimte". De laatste regel zal als hieronder kijken:

AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) - c $(AVRDUDE_PROGRAMMER) -b $(AVRDUDE_BAUD)

Controleer Pic #11.

Nu bent u klaar om te rocken. Klik op het bestand > opslaan vanaf de Makefile en navigeer naar binnenkant van "Blink" map en Geef bestandsnaam als "Makefile" en opslaan. Vergeet niet om de bestandsnaam AS "Makefile". Controleer pic #12.Now sluit de Makefile.

10) nu hervatten de Programmer's notepad en eerste klik op "tools > [WinAVR] alle maken". Als je deed alles precies zoals mijn beschrijving, dan moet het Make proces foutloos en programmer's notepad pagina ziet er als op Pic #12.

11) wordt het Make proces is voltooid, dan is het tijd om te verbranden van het programma. Klik nu op "tools > [WinAVR] programma". Het leesproces in het voortgangsvenster moet worden weergegeven. Dan zal tonen de flitser van de AVR schrijfproces. Daarna moet het de flits controle lezen proces tonen. Selectievakje pic #13.

Als alles klopt, zal de Arduino-LED beginnen te knipperen in 1 seconde interval.

Bingo... nu u een expert AVR bent.

Een ander ding, behalve de Makefile in een veilige plaats. Omdat u kunt gewoon kopiëren en plakken deze makefile (zonder dat er veel kan worden bewerkt) voor al uw verschillende toekomstige Arduino-WinAVR programmering projecten.

Gerelateerde Artikelen

Een secundaire benadering van UltraViolet fotografie

Een secundaire benadering van UltraViolet fotografie

dit is een inferieur benadering UV fotografie. Om eerlijk te zijn heb ik terughoudend om dit bericht. Maar kan iemand een gebruik voor dit vinden.En omwille van de openbaarmaking ik was geïnspireerd door deze gentleman's werk. Het "zachtheid" va
Een kinestetic benadering van leesvaardigheid (hoe te leren lezen op een leuke manier)

Een kinestetic benadering van leesvaardigheid (hoe te leren lezen op een leuke manier)

4 en 5-jarigen wilt verplaatsen terwijl ze aan het leren bent.  Dit instructable toont hoe maak je een super leuke kinesthetische lezing les.  Met behulp van fysieke gebaren met postbladen, zal studenten zitten kundig voor zitten kundig voor herinner
Biologisch pluimvee. Nesten en vaders. Een holistische benadering van broeden & uitbroeden van kuikens. Deel twee. Onderhouds - Poule couveuse bio

Biologisch pluimvee. Nesten en vaders. Een holistische benadering van broeden & uitbroeden van kuikens. Deel twee. Onderhouds - Poule couveuse bio

het maken van een stressless omgeving waarin de broody voelt comfortabel om te zitten van haar eieren. Voorbereiden op voorhand de hatch en gratis opgezette kuikens - een rol voor de Haan/cockerel.De verschillende soorten wilde jungle fowl waaruit de
Hoe maak je een digitale klok van Arduino

Hoe maak je een digitale klok van Arduino

Digitale klokken zijn een van de geweldige uitvinding op het gebied van de wetenschap.Heb je je ooit afgevraagd "Hoe te maken van uw eigen digitale klokken, net zoals in films!"???Nou die ik heb het ook, mijn kindertijd in een droom aan mijn zee
Waarom gaan kippen broody? Biologisch pluimvee. Een holistische benadering van broeden en kuikens broedeieren. Part One

Waarom gaan kippen broody? Biologisch pluimvee. Een holistische benadering van broeden en kuikens broedeieren. Part One

Is er een dergelijk wezen als een standaard broody duivin? Kijken naar hoe en waarom uw kip doet of niet gaan broody zal helpen u zowel uitkomen en kuikens met succes te verhogen. Slechts één probleem, nadat u begonnen bent, het is heel moeilijk om t
Obstakel te vermijden met behulp van Arduino Robot

Obstakel te vermijden met behulp van Arduino Robot

Hey kerels in dit instructable zullen we zien hoe maak je een autonome obstakel te vermijden Robot.This robot is ontworpen en geprogrammeerd op een zodanige wijze dat het voorkomt botsing. De robot in principe in een voorwaartse richting beweegt en w
Programmering van de 'AtTiny85' met de 'Tiny AVR Programmer' en 'Arduino IDE' aangevuld

Programmering van de 'AtTiny85' met de 'Tiny AVR Programmer' en 'Arduino IDE' aangevuld

Met behulp van Atmel's kleine 8 pin AtTiny85 is microcontroller als een standalone een geweldig alternatief voor de grotere 28 pin AtMega328 gemonteerd op een Arduino Uno-bord. Ik heb overgeschakeld van de ene naar de andere op verschillende manieren
Macht van uw Arduino/AVR met een batterij Hand-Cranked

Macht van uw Arduino/AVR met een batterij Hand-Cranked

als u ooit hebt willen macht uw Arduino of AVR uit een batterij voor het testen van de ontwikkeling (batterijen hebben verschillende macht levering kwaliteiten dan, zeg, getransformeerde AC of zelfs een gereglementeerde muur wrat in DC) testen maar w
Het wijzigen van de fuse-bits AVR Atmega328p - 8-bit microcontroller met behulp van Arduino

Het wijzigen van de fuse-bits AVR Atmega328p - 8-bit microcontroller met behulp van Arduino

In dit instructable leert u hoe u kunt wijzigen van de fuse-bits van Atmega328p microcontroller. Ik ben met behulp van Arduino mega als programmeur aan programma Atmega328P-PU op breadboard. Het komt met een standaard 1MHz interne gekalibreerd oscill
Bouwen van een systeem van volledige AVR en Mastermind spelen!

Bouwen van een systeem van volledige AVR en Mastermind spelen!

Het spel Mastermind is al een lange tijd, en ik herinner me het krijgen van een versie van de Raad van bestuur met gekleurde pinnen, toen ik een kind was. Ik hou van dit spel, want het is gewoon door pure logica oplosbaar. Één speler (of een computer
Draadloze programmering van Arduino

Draadloze programmering van Arduino

ik heb het opbouwen van robots voor een paar jaar nu en een van de dingen die ik meest frustrerende gevonden heb is tijdens het testen en debuggen. Er lijkt altijd te zijn een noodzaak voor een USB-kabel die kan krijgen in de manier waarop en beperke
Ontwikkeling van een ATtiny firefly project met behulp van Arduino en het is IDE

Ontwikkeling van een ATtiny firefly project met behulp van Arduino en het is IDE

Ik zag onlangs een interessant project door Karl Lunt waarmee een ATtiny13 nabootsen een firefly (http://www.seanet.com/~karllunt/fireflyLED.html). Dit op zich is zeker niet uniek, maar het kreeg me denken over een van mijn vroege microcontroller pro
Honey, I Shrunk de Arduino: verplaatsen van Arduino naar ATtiny en schrijven van uw code in zuivere AVR-C

Honey, I Shrunk de Arduino: verplaatsen van Arduino naar ATtiny en schrijven van uw code in zuivere AVR-C

Arduino is een geweldig hard- en softwareplatform, maar met alle functies is het ook een beetje opgeblazen en vaak hoeft u alleen een klein deel van alle functies. Uw project vereist soms om kleinere en goedkopere apparaten te hebben. Wat je misschie
Hoe wordt een ATtiny85 met behulp van Arduino - Como programar um ATtiny85 usando Arduino

Hoe wordt een ATtiny85 met behulp van Arduino - Como programar um ATtiny85 usando Arduino

Hoe te easly krimpen eenvoudige projecten?Como diminuir seus projetos mais simples?ATtiny85 is een eenvoudig te gebruiken, goedkoop en kleine (8 poten) microcontroller. U kunt het programma met een Arduino en kunt de Arduino IDE zelf schrijven en upl