Áramkörök

Fejlett megközelítés az Arduino és AVR programozáshoz: 7 lépés

Wesley tudomanyos korkep 2019 12 Midling

Wesley tudomanyos korkep 2019 12 Midling

Tartalomjegyzék:

Anonim

Ez az instructable mindenkinek el kell olvasnia, aki ismeri az AVR chipeket és az Arduino-t.

Nos, pontosabban, ha elolvasjuk az utasíthatatlan, akkor képes lesz arra, hogy:

1) Ismerje meg az AVR és az Arduino közötti megfelelő különbséget.

2) Arduino programozása WinAVR használatával és az AVR alap chipként való használata.

3) Arduino rendszerindító betöltése Atmega328p chipre és Arduino-ként való használata.

4) Arduino rendszerindító betöltése Atmega8A chipre és Arduino-ként való használata.

nézzük meg, hogy ezek hogyan működnek.

kellékek:

1. lépés: Szükséges anyagok

1) Arduino (Uno Rev3-t használok).

2) ATMEGA328P vagy ATMEGA8A.

3) FTDI 5v kitörés (szigorúan ajánlom az eredeti FTDI chipek használatát. Nem az olcsó kínai kitörések !!!!)

4) USB-programozó (ha van arduino, akkor nem kell erre).

5) 16MHz-es kristály.

6) 22pf x 2

7) 100 nF x 1

8) 10K1 / 4w ellenállás x 1

9) 150R x 1

9) Breadboard.

10) Néhány áthidaló vezeték

2. lépés: Mi a különbség a Core AVR & Arduino között

Ez az első alapvető kérdés azok számára, akik viszonylag újok az Arduino / AVR cuccokhoz.

AVR:

Nos, az AVR a "Atmel Semiconductors" mikrokontrollerek családja.

Mint egy család sok tagot is tartalmaz, az AVR család különböző típusú mikrokontrollereket is tartalmaz. Ezek mindegyike a Havard architektúrát követi. Ezek 8 bites mikrokontrollerek (32 bites AVR chipek is).

Az AVR-eket három csoportba sorolhatjuk

1) tinyAVR (alacsonyabb programozási terület alacsonyabb programterülettel)

2) megaAVR (közepes programozási hely)

3) xmegaAVR (magasabb programozási terület, néhány kiterjesztett funkcióval, mint például a "DMA").

Tehát sok zseton van ezekben a 3 csoportban.

Mint az Ex-.

Az Atmega8 / Atmega16 / Atmega32 / Atmega328 a mega család különböző tagjai, amelyek némileg kissé eltérő tulajdonságokkal rendelkeznek egymástól.

Például az Atmega328p 32k flash / 1k EEPROM / 2k SRAM-on van, míg az Atmega8 8k flash / 512 byte EEPROM / 1K SRAM-val rendelkezik, bár mindkettő ugyanazt a számot tartalmazza (28).

Másrészről az Atmega32 32k-os villanófényt is tartalmaz, mint az Atmega328p, de magasabb értékű (40).

Az ATTINY45 egy népszerű mikrokontroller a tinyAVR családból, csak 8 csap és 4k flash / 512 byte EEPROM & SRAM.

Tehát ki kell választania a mikrokontrollert az áramkör igényeinek megfelelően. Ha egy LED-et szeretne villogni, akkor az ATTINY45 tökéletes, de ha komplex LCD-t szeretne vezetni, mint a 128x64 vagy 20x4, akkor mega8 / 328/32-t kell választania.

Ez a mikrokontroller üres zseton, a flash / bootloader-ben nincs programozva. Most mi a fene a bootloader?

Meg kell terveznie egy megfelelő áramkört, hogy azt táplálja, ellátja az órát annak érdekében, hogy futtassa azt.

Sok különböző módon programozhatók, a közelgő lépésekben látni fogjuk, hogyan lehet megtenni.Minden szükség van valamilyen IDE-re, ahol írhatod a programodat.Winavr egy IDE.Also Atmel stúdió egy másik IDE a program írására az Atmel mikrokontrollerek számára.

A WinAVR-t választjuk ki a központi mikrokontrollereink programozására.

ARDUINO:

Azt mondhatjuk, hogy az Arduino olyan platform (beleértve a hardvert és szoftvert is), amelyet főként a prototípusokhoz használnak. Az arduino nagy előnye, hogy ez egy "nyílt forráskódú".

Nos, azt hiszem, több fényre kell összpontosítanom erre, mert itt jön a legnagyobb különbség az AVR és az Arduino között

Például az Arduino UNO rev3 egy olyan tábla, amely egy AVR mikrokontrollert és minden szükséges perifériát tartalmaz, hogy úgy működjön, mint korábban, a tápegység, az óra áramkör stb. Az itt használt mikrokontroller egy Atmega328p.

Szintén van egy fedélzeti "elrendezés" a mega328p programozó programozásához. Most mi a helyzet ????

Van egy egyszerű USB-soros átalakító a fedélzeten, amellyel mega programozhatja a mega328p-t. De hogyan van ez a "bootloader".

A "bootloader" egy kis program, amely a mikrovezérlő villanójának egy bizonyos területén helyezkedik el. Amikor a chipet újraindítják / bekapcsolják, a chip először a bootloader területére lép be (ezt a műveletet biztosítékbitekkel is be kell programozni) és végrehajtja a beírta a kódot. De hogyan tudja a kód maga programozni a chipet ???

Például a kódot oly módon írják, hogy a programbájtok az USB-ről a soros konverterre érkeznek. A bájtok beprogramozásakor a program tárolja a program bájtjait, és amikor az összes bájt beérkezik, újraindul magát, és végrehajtja az újonnan írt programkódot.

Most azonban felmerül a kérdés, hogy a programozás után, ha a mega328p a program flash-jéből indul (elkerülve a bootloadert), akkor hogyan programozható a következő ciklusban?

A válasz meglehetősen egyszerű, a mega328p soha nem ugrik el a program kezdőhelyére. Először mindig a rendszerbetöltő szakaszra ugrik, és várakozás van egy kis időre az adatbázisok érkezésére soros porton keresztül. elkezdi programozni magát, mint azt korábban jelezte, ha az adatok nem érkeznek meg az adott időn belül, akkor elhagyja a rendszerbetöltő részt, és elindítja a programfuttatást a program flash-ről.

A bájtküldő szekvenciát mind a bootloader, mind az ArduinoIDE ismeri. Így működik az arduino programozás programozó segítsége nélkül.

DE……..

Annak érdekében, hogy az indítóbetétet az AVR vakujába égesse, először használjon valamilyen programozót (vagy a Parallel / ISP-t). Ez az, ahol az önálló programozók szükségessége van.

Most az arduino IDE-jéről.

Az Arduino IDE-ben sokféle tábla közül lehet választani. Minden fórumon különböző típusú mikrokontrollerek használhatók. Mint az UNO rev3 kártya Atmega328p-t használ. A mega2560 Atmega2560-at stb.

Aztán jön egy újabb izgalmas része az Arduino-nak. "A könyvtár". A könyvtárak olyan programok, amelyek a mikrokontroller különböző moduljait vezetik (mint a TWI, SPI, PORT stb.), Vagy egy másik külső hardvert, például LCD-t, Stepper motort, különböző Az érzékelők és sok sokan mások típusai. Ahhoz, hogy a mikrokontroller működjön, néhány névleges kódot kell írni a meglévő könyvtár funkcióival. Az Arduino IDE-ben használt nyelv is C / C ++. hogy közvetlenül a kölcsönhatásba kerüljenek a atmega hardverével.Ezeket a háttérben kezelik. A parancsok sokkal egyszerűbbek, mint a "C'. core használata. A későbbiekben két különböző IDE-ben programozom a atmega chipet.

Másrészt, ha be kell programoznia egy AVR-t Winavr vagy más C-alapú IDE-vel, akkor meg kell ismernie a mikrokontroller megfelelő architektúráját, hardverét, moduljait, és csak azt tudod programozni. egy ilyen emberben ez egy millió dolláros kérdés …..

Érezted már valaha, hogy csak más írott kódot / függvényeket használsz, és nem tudod módosítani az igényeid szerint, vagy nem látod, hogy a teljes program hogyan működik a háttérben, vagy valaha érezted a kódfuttatás szükségességét Vonalról vonalra???

Ha valaha érezte a fent említetteket, akkor az ideje, hogy megírja magának az „AV” kódot.

Ha azt szeretné, hogy az alacsony szintű mag AVR programozását saját írott könyvtárával / kódjával szabadítsa fel, és módosítani kívánja a kódokat az Ön igényeinek megfelelően, és párhuzamosan szeretné jobban megérteni az egész kódot … akkor játszania kell központi AVR programozással.

Remélem, megtisztítottam az Arduino és az AVR cuccokkal kapcsolatos kétségeimet.

3. lépés: Az Arduino UNO Rev3 programozása WinAVR környezetből

Ahhoz, hogy az arduino-t WinAVR-en keresztül programozza, először le kell töltenie.

Mielőtt tovább folytatná, meg kell néznie az Atmega328-as alaplap pin-feltérképezését az Arduino UNO-ként. Csak nézd meg a mellékelt képemet.Minden a szükséges sorrendben vannak elrendezve. Bár a chipet Atmega168-nak, de Atmega328-nak jelöltük ugyanazt a pin-leképezést is alkalmazza.

Itt a WinAVR használatával villog a fedélzeti LED. A LED (a 'L' jelzéssel a fedélzeten) a harmadik képen látható módon van csatlakoztatva.

Ha csak a táblából kivont LED áramkört rajzoljuk ki (kivéve az összes többi összetevőt), akkor az áramkör úgy néz ki, mint a harmadik képben. Az itt használt op-amp; 5 (0/1), pontosan ugyanazt a kimenetet adja meg a # 7. tűnél. Ennek fő oka az, hogy elegendő áramot biztosítson a LED meghajtásához.

Tehát u láthatjuk, hogy a atmega328p pin # 19 a LED-et az opampampán keresztül vezeti. Láthatjuk, hogy az arduino pinout-ban és az AVR pinout-ban PB5-ben jelölik meg a digital13-ot. .

Miután visszatértünk a WinAVR-ről, telepítsük azt. Mielőtt tovább folytatnánk, hozzunk létre egy "Blink" nevű mappát az asztalon. Ez az a hely, ahol a WinAVR villogó projektünk összes fájlját megtartjuk. > minden program> WinAVR-20100110.Kattintson rá, és futtassa a programozó jegyzetét. Most kattintson a Fájl> Új> C / C ++ elemre, és látni fog valami hasonlót, mint a pic4.Now mentse el a Fájl> Mentés másként gombra kattintva, és értesítse az útvonalat Blink mappa az asztalon, és adja meg a fájl nevét main.c.Now már a "c" file.Look csak a fájl menü alatt, a nevet meg kell változtatni a main.c.

Most itt jön a fő rész, a program az alábbiak szerint lesz. Mivel nem adok semmilyen bemutatót az AVR architektúra / AVR programozási bemutatóról, csak rövid magyarázatot adok minden sorhoz. Ha többet szeretne megtudni

különösen az AVR családias architektúrája / programozása, majd néhány jó könyvet / linket említem meg a kiadás végén.

Rendben, most kezdjük a WinAVR-ben a villogási programot.

#include // Ez az AVR összes szükséges hardverdefiníciójára vonatkozik.

# tartalmazza // Ez a késleltetési funkciókra vonatkozik.

int main (void) // a fő indítása

{

DDRB | = (1 << 5); // A PB5 konfigurálása kimenetként az 1-es írással az adatirányítási nyilvántartáshoz (DDR).

míg (1) // végtelen ciklusba lép

{

PORTB ^ = (1 << 5); // A PB5 állapotának váltása.

_delay_ms (1000); // Késleltetés 1s

}

}

Most minimalizálja a programozó jegyzékét.

Kattintson a Start.in keresésre, írja be a "Mfile" parancsot, és nyomja meg az enter billentyűt. Most egy új Makefile megnyílik. Most kérjük, vegye figyelembe ezt a részt, mivel ez valószínűleg a legmegfelelőbb része az Arduino programozásának a WinAVR IDE-től.

Alapvetően a Makefile tartalmazza az összes szükséges beállítást a programnak a chipre történő égetéséhez. Most kövesse az alábbi lépéseket.

1) Kattintson a "Makefile" fülre, majd az utolsó opcióra, azaz a "Makefile szerkesztésének engedélyezése" gombra. Most már módosíthatja a Makefile paramétereit.

2) Most kattintson ismét a "Makefile" fülre, majd kattintson az "MCU típus> ATmega> gombra, és válassza ki az MCU-t Atmega328P-ként a listából. Kattintson a Fájl> mentés gombra.

3) Most már láthatjuk, hogy az MCU-t sárga színnel fogjuk kiemelni a Make fájlban a Pic # 6-on.

4) Csak az MCU = atmega328p alatt lesz a #processor frekvencia. A #processor frekvencia utolsó sorában, azaz F_CPU = 8000000 (alapértelmezés szerint), gondosan változtassa meg 16000000-ra (Csak hagyja ki a 8-at és a 16.-t. A 0-as lesz.) Ellenőrizze a Pic # 7.t, mert az arduino 16MHz-en fut. Kattintson a Fájl> mentés gombra.

5) Most kattints a Makefile fülre, és válassza a Programmer> stk500v2.Now belül a Makefile-ben, ez a következő lesz:

AVRDUDE_PROGRAMMER = stk500v2 "sárga kiemelésben. Hívja a stk500v2-t és írja be az" arduino "-ot.

6) Most csatolja az arduino Uno Rev3-at a PC-hez.Könnyítse a Makefile-t és kattintson jobb egérgombbal a Sajátgép ikonra. Ezután kattintson a kezelőre, majd kattintson az eszközkezelőre. Feljegyezzük az arduino uno.Check pic # 9 portját. Ez különbözik az enyémtől.

7) Most folytassa a Makefile-t. Csak a következő helyen, ahol beírta az "arduino" -t, a port # definíciója lesz az avrdude számára. Ez az "AVRDUDE_PORT = com1" felirat jelenik meg. Most már kihagyja az "1" -t és írja be az arduino portját #. "22" -et írtam. Kattintson a Fájl> save.Check pic # 10 parancsra.

8) Most a port definíció néhány sora után egy "#AVRDUDE_VERBOSE = -v -v" sor lesz. Most csak a sor után írja be az "AVRDUDE_BAUD = 115200" parancsot. Kattintson a Fájl> save.Check pic # 10 parancsra.

A sor hozzáadásával meghatározzuk az átviteli sebességet a soros kommunikációhoz a fedélzeti Atmega328P és a fedélzeti USB-soros konverter között.

9) A következő sor "AVRDUDE_FLAGS = -p $ (MCU) -P $ (AVRDUDE_PORT) -c $ (AVRDUDE_PROGRAMMER)" lesz.

Add hozzá a "-b $ (AVRDUDE_BAUD)" -t az előző sor végén, amit egy "szóköz" követ. Az utolsó sor az alábbiak szerint néz ki:

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

Ellenőrizze a Pic # 11-et.

Most már készen áll a rock-ra. Kattintson a Fájl> Mentés a Makefile-re elemre, és lépjen a "Blink" mappa belsejébe, és adja meg a fájlnév "Makefile" -ként, és mentse el.DO NEM FELHASZNÁLJA A FILENAME AS "Makefile" megadását. pic # 12.Nem zárja be a Makefile-t.

10) Most folytassa a programozó jegyzettömbjét, és először kattintson az "Eszközök> WinAVR Make All" (Eszközök> WinAVR készítése gombra. Ha u mindent pontosan úgy csináltam, mint a leírásom, akkor a Make folyamatnak hibamentesnek kell lennie, és a programozó jegyzettömb oldalának úgy kell lennie, mint a Pic # 12.

11) Ha a Make folyamat sikeresen befejeződött, akkor itt az ideje, hogy éget a program. Most kattintson az "eszközök> WinAVR Program" .A haladás ablakban kell mutatni az olvasási folyamatot.Ezután megmutatja az AVR flash írási folyamatot. azt kell jeleznie a flash verifikációs olvasási folyamatot.

Ha minden rendben van, az Arduino LED 1 másodpercen belül villogni kezd.

Bingo …. most Ön AVR szakértő.

Egy másik dolog, mentse el a Makefile-t egy biztonságos helyen. Mivel egyszerűen beillesztheti ezt a makefile-t (anélkül, hogy sok szerkesztés lenne) a különböző jövőbeli Arduino-WinAVR programozási projektjeihez.

4. lépés: Az Arduino rendszerindító betöltése az Atmega328P-be

Amint azt a cikk ismerteti, ez a lépés azoknak a srácoknak szól, akik Arduino-t akarnak készíteni egy kenyérvágódeszka névleges összetevőivel, és még mindig élvezhetik az Arduino könyvtárak előnyeit.

Alapvetően az arduino bootloader a atmega328p chipbe történő beégetését követően már nem lesz szükség speciális programozóra (USBasp / Parallel / Arduino ISP-ként), hogy programokat írjon a atmega328-ra. atmega328p az Arduino IDE-től vagy a WINAVR IDE-től az utolsó lépésben leírtak szerint.

A chip egy Arduino-ként fog játszani egy kenyérvágódeszkán. Bár számos témakör van ebben a témakörben, de azt gondoltam, hogy ezt a témát fedezem fel az instructables-ben.

Először is két lehetőség van az Arduino bootloader égetésére az Atmega328p magjába.

1) Az Arduino programozóként való használata (Nyilvánvalóan erre szükség lesz egy arduino kártyára).

2) Az USBasp AVR programozó használata (Ha nincs ilyen, akkor valakitől kölcsönözhetsz. Bár ajánlom, hogy összegyűjtsek egyet az arzenálba, mert néha valóban hasznosak).

Ebben a lépésben látni fogjuk, hogy hogyan kell égetni egy bootloadert egy Arduino kártyával.

1) Állítsa be az Arduino UNO-t és az Atmega328p-et a kenyérvágódeszkában, amint az az első PIc-ben látható. A kristály 16MHz-es kristály, a két sapka pedig 22pf.Nincs külső teljesítmény. az Arduino UNO ISP AVR programozóként viselkedik. Ennek érdekében programoznunk kell az UNO fórumot.

2) A programozáshoz nyissa meg az Arduino IDE-t, és kattintson a "Fájl> Példák> ArduinoISP> ArduinoISP" elemre, és maximalizálja azt.

3) Most válaszd ki a fórumot az "Eszközök> Tábla:> Arduino / Genuino UNO" gombra kattintva (az enyém Arduino UNO, Válasszon a táblánként).

4) Válassza ki azt a portot, amelyre az Arduino csatlakozik, az "Eszközök> Port" gombra kattintva. (Kérjük, olvassa el az előző lépést, hogyan találja meg a portot az Eszközkezelőből).

5) Most kattintson a "Vázlat> Feltöltés" gombra. Az IDE először összeállítja a programot, majd ezt követően letölti a sketchto-t az Arduino táblán. A vázlat feltöltése után most az arduino AVR ISP (In system programozó) programozóként fog működni .

6) Most ismét válassza ki a táblát Arduino-ként a 3. lépésben leírtak szerint. De ne feledd, ezúttal a céllapotól függően választod a táblát (a mi esetünkben Atmega328P futtatni @ 16Mhz), amelyen a Bootloader éget.

7) Most kattintson az "Eszközök> Programozó> Arduino ISP-ként" lehetőségre (van egy ArduinoISP nevű opció.

8) Most kattintson a "Tools> Burn Bootloader" gombra.

Ha minden rendben van, akkor az Arduino IDE alján lévő előrehaladási ablakban valami látható lesz, mint a "Kész égőbetöltő készítése". Kérjük, olvassa el a Pic # 2.Nyomja be az Arduino IDE-t.

Most itt az ideje, hogy teszteljünk egy Blink LED programot. Most, amikor a rendszerbetöltő már ég, az FTDI 5v kitörést használjuk fel az Arduino Blink vázlat feltöltéséhez az Atmega328P-be.

Válasszuk le az Arduino-t, és csatlakoztassuk az FTDI-t az Atmega328P-hez a Pic # 3-as ábrán látható módon. A DTR-csap 100nF-os sapkához van csatlakoztatva. Ezúttal az FTDI 5v-es breakout-on keresztül is teszteljük a tesztet. hogy az Atmega328p Reset pin (Pin # 1) csatlakozik az FTDI DTR pinjéhez egy 100 nF-os kupakon keresztül. Ez az elrendezés a mikrokontroller alaphelyzetbe állításához egy új programozási sor elindításához.

Most, hogy a Blink vázlatot az Arduino új kenyeretábláján égetjük, az a következő:

1) Nyissa meg az Arduion IDE-t.

2) Csatlakoztassa az FTDI-t a PC-hez. Ellenőrizze a portot az előző lépésben leírt módon.

3) Válassza ki a "Tools> Board:> Arduino / Genuino UNO" táblát, mivel az Atmega328P @ 16Mhz-t használjuk.

4) Kattintson az "Eszközök> Port>" az FTDI csatlakozó portra.

5) Most kattintson a "File> Exampleas> Basic> Blink" gombra.

6) Most zárja be az Arduino IDE-t a háttérben, amint az a 4. ábrán látható.

7) Most maximalizálja a Blink vázlatot, és kattintson a "Sketch> Upload" gombra. A programját össze kell állítani és sikeresen feltölteni. Most már biztosan bezárja az Arduino IDE-t.

8) Most húzza ki az FTDI DTR / Tx / Rx vonalát a kenyérvágólapról, és csatlakoztassa a LED-et az ellenálláson keresztül az Atmega328P Pin # 19-ből. A hivatalos táblák, mint az Atmega egyetlen LED-et képesek sikeresen vezetni. Most a LED-nek 1 másodperces intervallumban kell villognia.

Az ok, amiért a LED nem indult a chip indításakor és a programozás után a DTR vonal eltávolításakor, az volt, hogy miközben kísérleteztem, láttam, hogy az AVR-t véletlenszerűen újrakezdték, amikor megnyitottam az Arduino IDE-t a programozáshoz. az Arduino IDE véletlenszerűen elküldte a Reset jelet az FTDI-nek. Ezért javaslom, hogy a sikeres program feltöltése után a véletlenszerű visszaállítás elkerülése érdekében szüntesse meg a DTR vonalat.

5. lépés: Bootloader írása Atmega8-ra

Ha az Atmega8A-t Arduino-ként szeretné használni, akkor ez a lépés az Ön számára.Ez a lépés egy kicsit nehéz, mint az indító betöltő Atmega328-hoz.

Van egy hiba a legutóbbi Arduino IDE-kben az Atmega8A biztosítékbitjeivel kapcsolatban. Alapvetően háromféle biztosíték van jelen az Atmega328p-ben, nevezetesen 1) lfuse 2) hfuse 3) efuse.

A harmadik típus, azaz az effuse nem szerepel az Atmega8A-ban.Ha a bootloadert Atmega8A-ba akarja írni, akkor az IDE jelentést fog küldeni a hibaüzenetről, és az égő bootloader folyamat leáll.

A probléma leküzdése érdekében tegye meg a szükséges lépéseket a hivatkozásban leírtak szerint. A lépések nagyon egyszerűek, ha pontosan követik.

Ha követte a hivatkozásban leírt lépéseket, akkor itt az ideje, hogy a rendszerindítót írja le. A folyamat a következő:

Állítsa be a hardvert az Atmega328P bootloader égési lépésében leírtak szerint.

1) Zárja be az Arduino IDE-t a hivatkozásban leírt lépések után.

2) Kattintson az "Eszközök> Táblák> Arduino NG vagyOlder" gombra.

3) Most kattintson az "Eszközök> Processzor> Atmega8" gombra.

4) Csatlakoztassa az Arduino-t a PC-hez, és ellenőrizze a Port # -ot a korábban leírtak szerint.

5) Most kattints az "Eszközök> Port>" Az arduino portodra .Mine volt 22.Minden az "Eszközök> Port> COM22" gombra kattintottam.

6) Most válassza ki a programozót (Feltételezve, hogy az Arduino táblán az arduino ISP vázlatot égette) az "Eszközök> Programozó> Arduino mint ISP" gombra kattintva.

7) Kattintson a "Tools> Burn bootloader" elemre.

Ha minden rendben van, akkor az alsó haladás ablakban megjelenik a "Kész égési rendszerbetöltő".

Most már készen állsz. Most töltsd fel a Blink programot az Atmega8-ra az FTDI 5v brekout segítségével, ahogyan azt az Atmega328P villogás feltöltötte az előző lépésben. .

Voila …… a LED-nek villognia kell a pislogás vázlat feltöltése után.

6. lépés: A rendszerindító betöltése az USBasp segítségével

Ha nem rendelkezik arduino-val, és van egy USBasp avr programozója, akkor a bootloader Atmega328P / Atmega8A feltöltéséhez a következő beállítások lesznek érvényesek.

1) Csatlakoztassa az USBasp programozó kábelek MOSI / MISO / SCK / RESET / VCC / GND-jét az AVR 17/18/19/1 / VCC / GND csatlakozóihoz.

2) Kövesse a korábban leírt lépéseket az Atmega328P / Atmega8A esetében, de csak válassza ki a programozót, mint "Eszközök> Programozó> USBasp"

Most kövesse a következőket.

7. lépés: Végső szavak …..

Mielőtt búcsút mondanék, csak néhány tényt szeretnék megosztani ezzel a kiadással kapcsolatban.

Az AVR chipek programozása során sokszor nagyon nehéz volt az USBasp programozót csatlakoztatni az összes kábellel a kenyérvágódeszkahoz. Ha az arduino bootloaderet a cél chiphez írja, akkor viszonylag könnyű a hex fájlokat.

Sok esetben a WinAVR IDE-ből származó AVR-ek programozásakor a program nem tud visszatérni a "Not in sysnc" hibába. Csak próbálkozzon különböző átviteli sebességgel, mint 19200/57600, 115200 helyett.

Olvasson el néhány jó könyvet, ha szeretné programozni az AVR-eket. Olvassa el a Mazidi által készített "AVR mikrokontroller és beágyazott rendszerek ".Ha messze van a legalapvetőbb módon, számos más összetett könyvhez képest. mindenféle programozás. Adatlap a mikrokontroller programjának legjobb barátja.ATMEL adatlapjai az info szempontjából nagyszerűek. Ha az első AVR-eket első pillantásra próbálják programozni, sokkal összetettebb az Arduino programozáshoz képest. De higgy nekem Ha hozzászoksz hozzá, akkor ez a leghatékonyabb út. A lehetőségek végtelenek.

Bár megpróbáltam minél többet kidolgozni, de ha bármilyen segítségre van szüksége, nyugodtan kérdezd. Amint én nem vagyok AVR / Arduino szakértő, akkor a legjobbat választom, hogy válaszoljak a kérdésekre.

Boldog égő ……….

Rgds // Sharanya