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.