ITTHON Vízumok Vízum Görögországba Vízum Görögországba oroszoknak 2016-ban: szükséges-e, hogyan kell csinálni

Mikrokontrollerek programozása kezdőknek. Mikrokontrollerek programozása c nyelven Milyen mikrokontrollerek léteznek

Én kategorikusan ellenzem ezt a megközelítést. Általában minden véget ér - vagy semmivel, vagy azzal, hogy a fórumok eltömődnek a segélykérésektől. Hiába segítenek valakinek, az esetek 90%-ában soha többé nem jelenik meg az elektronikai oldalakon. A maradék 10%-ban továbbra is könyörgéssel árasztja el a fórumokat, előbb rúgják, majd sárral dobálják. Ebből a 10%-ból további 9% kiesik. Aztán két lehetőség van: vagy egy hülye fejjel jön, és még mindig az elejére megy, vagy a különösen elhanyagolt változatoknál az ő sorsa, hogy másokat másoljon, anélkül, hogy a működésére gondolna. Az arduinisták gyakran ez utóbbiból születnek.

Szerintem a semmiből a perifériák és funkciók tanulmányozása, ha mikrokontrollerről van szó. Jobb, ha először kitalálja, hogyan rúgja a lábát, majd az időzítőket, majd az interfészt. És csak ezután próbálja meg növelni a ZSÍRTOT. Igen, ez nem gyors, és időt és erőfeszítést igényel, de a gyakorlat azt mutatja, hogy bárhogyan is próbálja lerövidíteni ezt az utat, akkor is felmerülnek problémák, amelyeket meg kell oldani, és sokkal több időt fog tölteni e nélkül.

Csak ne keverje össze a meleget és a lágyat. Először is, minden szabály alól vannak kivételek, én személy szerint láttam olyan embereket, akik még soha nem tartottak mikrokontrollert a kezükben, de rendkívül rövid idő alatt le tudták előzni a tapasztalt, tapasztalt rádióamatőröket, nem vesszük figyelembe. Másodszor, találkoztam olyan személyekkel, akik a diagramok másolásával kezdték, és rögtön rájöttek, de ez valószínűleg kivétel a szabály alól. Harmadszor, az Arduino fejlesztői között is vannak tapasztalt programozók, ez csak egy platform, de ez inkább kivétel.

Ha az általános tömegről beszélünk, akkor a dolgok pontosan úgy vannak, ahogy az elején leírtam: az alapokkal való ódzkodás a legjobb esetben is késlelteti azt a pillanatot, amikor vissza kell térni ezekhez a kérdésekhez. A legrosszabb esetben hamar eléri tudása plafonját, és mindig mást hibáztat a problémáiért.

2. Problémamegoldás előtt bontsd le az abszurditásig, le az "ellenállás forrasztására", ez segít, tesztelték. A kis problémákat sokkal könnyebb megoldani. Amikor egy nagy feladatot apró műveletekre bomlik, már csak azokat kell elvégezni. Adhatok még egy jó tanácsot, még akkor is, ha őrültségnek tűnik – vegyél egy füzetet, és írj bele mindent, amit tenni fogsz. Azt hiszed, emlékezni fogok rá, de nem. Mondjuk ma jó kedvem van, és azon gondolkodom, hogyan szedjem össze a táblát. Írj egy cselekvési tervet: menj vegyél ellenállást, készítsd elő a vezetékeket, szereld fel a kijelzőt. Aztán mindent elfelejtesz, nyisd ki a füzeted és nézd – igen, ma van kedvem fűrészelni és tervezni, csinálok egy rögzítést. Vagy összeszerelsz egy táblát és az utolsó alkatrészt kell forrasztani, de ez nem így van, az ellenállások elfogytak, szóval forrasztás előtt le kellett volna írnom, aztán eszembe jutott.

3. Ne használjon kódgenerátorokat, nem szabványos szolgáltatásokat és egyéb egyszerűsítéseket, legalábbis az első szakaszokban. Mondhatom a személyes példámat. Amikor aktívan használtam az AVR-t, CAVR kodogént használtam. Teljesen meg voltam vele elégedve, bár mindenki azt mondta, hogy barom. Folyamatosan szóltak a harangok, voltak gondok a könyvtárakkal, a szintaxissal, a portolással, de nehéz volt lemondani róla. Nem értettem, hogyan működik, csak tudtam, hol és hogyan kell bejelölni a négyzeteket.

A karót az STM32 megjelenésével a koporsómba verték, rá kellett mászni, és ekkor jelentkeztek a problémák. A problémák enyhén szólva is, a mikrokontrollereket és a C nyelvet a semmiből kellett elsajátítanom. Nem ismételtem meg újra a múlt hibáit. Azt kell mondanom, hogy ez már nem egyszer jól jött. Azóta lehetőségem van más platformokkal dolgozni, és nem tapasztalok nehézséget a megközelítés.

Az összes fejlesztést és egyszerűsítést illetően volt egy nagyon jó összehasonlítás: olyanok, mint a tolószékek, amelyek sínen közlekednek, lehet menni és élvezni, de nem tudsz felkelni, ahova visznek, odaérsz.

4. Tanuljon C nyelvet.Ó, milyen gyakran hallom a kezdő rádióamatőrök dicsekedését, hogy jól ismerik a rádiót. Ez ennivaló lett számomra, mindig szívesen konzultálok az ilyen beszélgetőpartnerekkel. Általában azonnal kiderül, hogy egyáltalán nem ismerik a nyelvet. Elmondhatom, hogy a látszólagos egyszerűség ellenére nem sok olyan emberrel találkoztam, aki igazán jól ismerte volna. Alapvetően mindenki annyira ismeri őt, amennyire a problémák megoldásához szükséges.

A probléma azonban szerintem az, hogy a lehetőségek ismerete nélkül erősen korlátozza magát. Egyrészt nem optimális megoldások, amelyek erősebb hardvert igényelnek, másrészt olvashatatlan, nehezen karbantartható kód. Véleményem szerint a kód olvashatósága és karbantarthatósága az egyik legfontosabb hely, és nehezen tudom elképzelni, hogy ez hogyan érhető el a C nyelv összes lehetőségének kihasználása nélkül.

Sok kezdő megveti a nyelvtanulást, így ha nem olyan, mint mindenki más, azonnal két lépéssel a többi kezdő fölé kerül. Az sem mindegy, hogy hol tanuljuk a nyelvet. Véleményem szerint a mikrokontroller nem nagyon alkalmas erre. Sokkal egyszerűbb valamilyen Visual Studio vagy Qt Creator telepítése és a problémák megoldása a parancssorban.

Jó segítség lesz az interjúk során adott nyelvi tesztek tanulmányozása is. Ha körülnézel, sok új dolgot tanulhatsz.

5. Tanuló assembler? Nem kell félni tőle, sem bálványozni. Nem szabad azt gondolni, hogy ha tudsz assembly nyelven programot írni, azonnal mikrokontroller guru leszel, valamiért ez egy általános tévhit. Először is, ez egy eszköz. Ha nem is tervezi használni, akkor is erősen javaslom, hogy írjon legalább pár programot. Ez nagyban leegyszerűsíti a mikrokontroller működésének és a programok belső felépítésének megértését.

6. Olvassa el az adatlapot. Sok fejlesztő figyelmen kívül hagyja ezt. Az adatlap tanulmányozásával két lépéssel magasabban leszel, mint azok a fejlesztők. Ez rendkívül hasznos, egyrészt ez az elsődleges forrás, függetlenül attól, hogy milyen oldalakat olvas, az esetek többségében az adatlapon szereplő információkat ismétlik, gyakran hibákkal és kihagyásokkal. Olyan információk is lehetnek ott, amelyekre most nem gondolsz, de a jövőben hasznosak lehetnek. Előfordulhat, hogy beugrik valamilyen hiba, és eszedbe jut, hogy igen, erről volt szó az adatlapon. Ha az a cél, hogy jó fejlesztővé váljon, akkor ezt a szakaszt nem lehet elkerülni, minél előbb el kell olvasnia az adatlapokat, annál gyorsabb lesz a növekedés.

7. Az emberek gyakran kérik orosz nyelvű adatlapok küldését. Az adatlap az, amit az igazságnak, a legpontosabb információnak kell tekinteni. Még ott is előfordulhatnak hibák. Ha ehhez hozzáadódnak a fordító hibái, akkor ő is ember, talán nem is szándékosan, csak elgépelt. Vagy megvan a saját elképzelése, hiányozhat valami, ami szerinte nem fontos, de talán rendkívül fontos az Ön számára. A helyzet különösen akkor válik viccessé, amikor a nem túl népszerű alkatrészekhez kell dokumentációt találnia.

Véleményem szerint sokkal könnyebb e problémák teljes rétegét előre kizárni, mint később megfogni. Ezért kategorikusan ellenzem a fordításokat, az egyetlen igaz tanács, hogy tanulj angolul, hogy eredetiben olvasd el az adatlapokat és a kézikönyveket. A fordítóprogramok segítségével megértheti egy kifejezés jelentését, még akkor is, ha a nyelvi szintje teljesen nulla.

Végeztem egy kísérletet: volt egy diákom, egy adatlapom és egy Google fordítóm. 1. számú kísérlet: a tanuló kapott egy adatlapot, és azt a feladatot kapta, hogy önállóan keresse meg a szükséges értékeket, az eredmény „hogyan tudok”, „nem tudok angolul”, „nem találtam semmit/tettem” „nem értem” tipikus kifejezések, amelyek arra utalnak, hogy meg sem próbálta. 2. kísérlet: ugyanaz a diák kapott ugyanazt az adatlapot és ugyanazt a feladatot, azzal a különbséggel, hogy én ültem mellé. Az eredmény az, hogy 5 perc után ő maga talált meg minden szükséges értéket, teljesen az én részvételem nélkül, anélkül, hogy tudott volna angolul.

8. Találja fel újra a kereket. Például, ha valami új dolgot tanul, mondjuk egy tranzisztort, Horowitz bácsi hitelesen kijelenti a könyve lapjain, hogy a tranzisztor erősít, mindig azt mondja: NEM HISZEK. Kezünkbe vesszük a tranzisztort, bedugjuk az áramkörbe, és megbizonyosodunk róla, hogy valóban így van. Problémák és finomságok egész rétege van, amelyeket a könyvek nem írnak le. Csak akkor érzi őket, amikor felveszi és megpróbálja összeszerelni őket. Ezzel párhuzamosan egy rakás kapcsolódó ismeretet szerezünk, és megtanuljuk a finomságokat. Ráadásul minden elmélet gyakorlat nélkül sokkal gyorsabban feledésbe merül.

A kezdeti szakaszban egy módszer sokat segített nekem - először összeállít egy áramkört, és megnézi, hogyan működik, majd megpróbálja megtalálni az indoklást egy könyvben. Ugyanez a helyzet a szoftveres résszel is, ha van egy kész program, akkor könnyebb megérteni, és összevetni a kódrészleteket, hogy melyik miért felelős.

Fontos továbbá a megengedetten túllépni, nagyobb/kisebb feszültséget alkalmazni, nagyobb/kisebb ellenállásokat készíteni és az áramkör működésében bekövetkező változásokat figyelni. Mindez az agyban marad, és hasznos lesz a jövőben. Igen, ez tele van az alkatrészek fogyasztásával, de ezt elkerülhetetlennek tartom. Eleinte ültem és tüzeltem mindent, de mostanra, mielőtt erre vagy arra a címre fogadtam volna, mindig eszembe jut az a mulatságos idő, és a rossz címlet beírásának következményei.

9. Hogyan csinálnám ezt, ha én lennék a fejlesztő? Tudok jobbat csinálni? Tedd fel magadnak ezeket a kérdéseket minden alkalommal, ez valóban segít előrehaladni a tanulásban. Tanulmányozd például az 1wire, i2c, spi, uart interfészt, majd gondold át, miben különböznek, lehetett volna-e jobban csinálni, ez segít megérteni, hogy miért van minden így és nem másképp. Azt is tudni fogja, hogy mikor és melyiket érdemesebb használni.

10. Ne korlátozza magát a technológia. Fontos, hogy ennek a tanácsnak nagyon finom vonala legyen. Volt egy életszakasz, amikor minden ajtóból azt lehetett hallani, hogy „tudnod kell az FPGA-kat”, „de lehet valamit csinálni az FPGA-kkal”. Formálisan nem volt célom a PLISins tanulmányozása, de nem tudtam figyelmen kívül hagyni. Egy kis időt szántak ennek a kérdésnek a megismerésére. Az idő nem volt vesztegetve, számos kérdés merült fel bennem a mikrokontrollerek belső felépítésével kapcsolatban, és a plisinekkel való kommunikáció után kaptam rájuk választ. Sok hasonló példa van mindazok a tudások, amelyeket ilyen vagy olyan formában szereztem, előbb-utóbb jól jöttek. Egyetlen haszontalan példám sincs.

De ahogy elhangzott, a technológia kérdése finom vonalakkal rendelkezik. Nem kell mindent megragadni. Az elektronikában sok terület van. Talán szereti az analógot, esetleg a digitálist, esetleg tápegység-specialista. Ha nem világos, próbálja ki magát mindenhol, de a gyakorlat azt mutatja, hogy először jobb valamire koncentrálni. Még akkor is, ha több irányba kell nyomni, jobb, ha lépésenként, először egy dolgot nyomva át.

11. Ha megkérdezünk egy kezdő rádióamatőrt, hogy mit szeret jobban: a programozást vagy az áramkör-tervezést, akkor 99%-os valószínűséggel a programozás lesz a válasz. Ugyanakkor ezek a programozók az idejük nagy részét LUT/fotoresist táblák készítésével töltik. Az okok általában egyértelműek, de ez gyakran egyfajta őrültséggé válik, ami abból áll, hogy táblákat készítenek a deszkakészítés kedvéért.

Az interneten a programozás szinte egyetlen igazi módja, ha a nyomtatott áramköri lapgyártás jedijévé válunk. Én is végigjártam ezt az utat, de minden alkalommal felteszem magamnak a kérdést, hogy miért? Amióta vettem magamnak pár deszkát, minden alkalomra, minden alkalommal arra gondolok, hogy könnyen megélhetném ezt az időt házi készítésű deszkák nélkül. Azt tanácsolom, ha egy csepp kétség is van, akkor jobb, ha nem vesződünk, és veszünk egy kész hibakereső táblát, és érdemesebb időt és pénzt szánni a programozásra.

12. A következő tanács különösen fájdalmas, nagyon nem akarom megvitatni, de muszáj. Gyakran írnak nekem, hogy az xxx rubel túl drága, hol lehet olcsóbban beszerezni. Gyakori kérdésnek tűnik, de általában egyből megfeszülök tőle, hiszen sokszor végtelen pénzhiányos panaszkodásba torkollik. Mindig van egy kérdésem: miért nem tépem le a fenekét és menjek dolgozni? Ezzel együtt is, akár az építkezésre is várni kell egy hónapot, de akkor lehet venni pár táblát, ami a következő évre is kitart. Igen, tudom, hogy kisvárosokban, falvakban nehéz munkát találni, nagyvárosba költözni. Dolgozzon távolról, általában pörögnie kell. Egyszerűen nincs értelme panaszkodni, van kiút a helyzetből, aki keres, az megtalálja.

13. Ugyanebben a malacperselyben hozzáteszem a hangszer nagyon fájdalmas kérdését. Az eszköznek lehetővé kell tennie az eszközök minél gyorsabb fejlesztését. Valamilyen oknál fogva sok fejlesztő nem értékeli az idejét. Tipikus példa a terminálok olcsó krimpelése, amelyen sok munkáltató szeretne spórolni. A probléma az, hogy nem is présel össze megfelelően, amitől a vezetékek kiesnek. Egy csomó további manipulációt kell végrehajtania, ennek megfelelően időt pazarolva. De mint tudod, a bolond háromszor fizet, így a krimpelő alacsony ára sokszorosára emelkedik, az időráfordítás és a rossz minőségű krimpelés miatt.

Nem azt mondom, hogy olcsó = rossz, nem – minden a helyzettől függ. Hadd térjek vissza a krimpelő példájához, volt idő, amikor bármivel préseltem, így gyakran adódtak problémák. Különösen kellemetlen, ha elindítunk egy táblát, és nem működik, hosszas hibakeresés után rájössz, hogy a rosszul préselt vezeték miatt, kár. A normál krimpelés megjelenése óta nem volt ilyen probléma. Igen, a belső varangy károgott és fuldoklott az árától, de soha nem bántam meg ezt a döntést. Csak annyit szeretnék mondani, hogy egy normál eszközzel végzett munka után nem akar visszamenni a rosszhoz, nem is akarja megvitatni. Amint a gyakorlat azt mutatja, jobb, ha nem spórol az eszközökkel, ha kétségei vannak, tesztelje valakitől, olvassa el a véleményeket, véleményeket.

14. Indíts el egy weboldalt, azt írhatsz rá, amit csak akarsz, akárcsak a jegyzeteket. A gyakorlat azt mutatja, hogy a munkáltatók még mindig nem olvassák el, de maga a tény nagy hatással van.

15. Kényes kérdés: szakirányú felsőoktatás, szükséges-e? Nem egy olyan esetet ismerek, amikor az emberek abszolút végzettség nélkül dolgoztak, és tapasztalatuk, tudásuk alapján bármelyik okleveles szakemberre fényt tudtak adni. Igazából nincs szakirányú végzettségem, kellemetlenül érzem magam ettől? Bizonyos mértékig igen.

Kezdetben, amikor a mikrokontrollerek hobbim voltak, rengeteget segítettem a tanfolyami munkákkal és a különböző egyetemek diplomáival, csak hogy felmérjem a szintemet. Bátran állíthatom, hogy a szint általánosságban alacsony, egyetem nevétől függetlenül. Egy ilyen oklevél megírásához nem kell több évig tanulni. Ezt nagyon rövid idő alatt saját maga is elérheti. Pedig sokszor voltak olyan esetek, amikor a diákok tudtak valamilyen tárgyat, amit a 2-3. évben vettek fel, de én nem tudtam. Bár mindezt a tudást az önképzés kárpótolta, mégis jobb lenne nem vesztegetni az időt erre.

Egyetem egy darab papír kedvéért. Mondhatom, voltak olyan helyzetek is, amikor kötelező végzettséget igénylő állást ajánlottak fel és kár, hogy abban a pillanatban nem volt papír. De általában a történelem azt mutatja, hogy a legtöbb munkáltató nem törődik a papírmunkával.

A következő pontot gyakran nem veszik figyelembe, ez a környezet. Ne felejtsd el, hogy azok, akikkel együtt tanulsz, a te generációd, és lehetséges, hogy velük fogsz dolgozni. Az egy iparágban működő cégek száma nagyon korlátozott. A gyakorlat azt mutatja, hogy a nagyvárosokban is mindenki tud egymásról, egészen az intim részletekig.

Egy másik szempont a lehetőségek. Gyakran az egyetemeknek megvannak a saját képességeik - felszerelések, esetleg néhány szekció, esetleg néhány program a külföldi munkavégzéshez, ezt kell használni, ha a legkisebb lehetőség is van. Ha nem látsz perspektívát egy egyetemen, menj másikra, a világ nem csak egynél ér véget.

Összefoglalva a tanács a következő: ha a legkisebb lehetőség adódik, menj el tanulni, mindenképpen a profilodnak megfelelően, ha van legalább egy esély, akkor mássz fel mindenhova, és ne ülj a hátsó ülésre. Köss ismeretségeket, ugyanakkor gyakorold és fejleszd magad otthon.

16. Túl késő 20, 30, 40, 50 évesen elkezdeni a programozást? Mások gyakorlata azt mutatja, hogy az életkor egyáltalán nem akadály. Valamiért sokan nem veszik figyelembe, hogy egy egész réteg olyan munka van, amit a fiatalok ambícióikból adódóan nem akarnak végezni. Ezért a munkaadók szívesebben veszik fel azokat, akik ezt viszik. Itt az esélyed, hogy kiakadj, aztán minden csak rajtad múlik.

És egy utolsó tanács. Sok rádióamatőr nem kommunikál, dühös és ingerlékeny – tekintse ezt a munka sajátosságának. Sugározzon kedvességet és pozitivitást, légy jó ember.

A mikrokontrollerek egy speciális típusú chip, amelyet különféle elektronikus eszközök vezérlésére használnak.

Ezek miniatűr számítógépek, amelyeknek minden alkatrésze (processzor, RAM, ROM) egy chipen található. A mikroprocesszoroktól az időzítők, vezérlők, komparátorok és egyéb perifériás eszközök jelenléte különbözteti meg őket. Jelenleg a gyártás során mikrokontrollereket használnak:

  • érzékelők autókhoz;
  • játékok;
  • feszültségjelzők, töltők;
  • vezérlőpanelek;
  • miniatűr elektronikus eszközök.

Az irányítás speciális programok segítségével történik.

Kezdőknek ajánlott a mikrokontrollerek programozásának elsajátítását az architektúra és a változatok tanulmányozásával kezdeni. Az ipar a következő típusú MK-t gyártja:

  • beépített;
  • 8-, 16- és 32-bites;
  • digitális jelfeldolgozók.

A mikrokontroller gyártóknak folyamatosan egyensúlyozniuk kell a termékek mérete, teljesítménye és ára között. Ezért a 8 bites modellek továbbra is használatban vannak. Meglehetősen alacsony a termelékenységük, de ez sok esetben előnyt jelent, mert lehetővé teszi az energiaforrások megtakarítását. A digitális jelfeldolgozók nagy adatfolyamok valós időben történő feldolgozására képesek. Ezek költsége azonban sokkal magasabb.

Előfordulhat, hogy a használt műveleti kódok száma nem azonos. Ezért RISC és CISC utasításrendszereket használnak. Az elsőt csökkentettnek tekintjük, és a generátor egy órajelében hajtják végre. Ez lehetővé teszi a CPU hardveres megvalósításának egyszerűsítését és a chip teljesítményének növelését. A CISC egy összetett rendszer, amely jelentősen növelheti az eszköz hatékonyságát.

Lehetetlen megtanulni a mikrokontroller programozását kezdőknek anélkül, hogy megértenének algoritmusokat. A parancsok meghatározott sorrendben kerülnek elküldésre a chip CPU-jának. Sőt, felépítésüket a processzornak egyértelműen érzékelnie kell. Ezért először a programozó létrehozza a parancs végrehajtásának sorozatát. Megszakítás hívásával kényszerítheti a CPU-t a program azonnali leállítására. Erre a célra külső jeleket vagy beépített perifériás eszközöket használnak.

Mikrokontroller családok

A leggyakoribb mikrokontroller családok a következők:

  • MSP430 (TI);
  • ARM (ARM Limited);
  • MCS 51 (INTEL);
  • STMB (STMicroelectronics);
  • PIC (mikrochip);
  • AVR (Atmel);
  • RL78 (Renesas Electronics).

Az elektronikai ipar egyik legnépszerűbb terméke az Atmel RISC magra épülő termékei. Az első, 1995-ben kifejlesztett mikroáramkörök a Classic csoporthoz tartoznak. Célszerű tanulmányozni az AVR mikrovezérlők programozását kezdőknek korszerűbb modelleken:

  • A Mega nagy teljesítményű chipek családja fejlett architektúrával.
  • Apró – olcsó termékek nyolc tűvel.

Emlékeztetni kell arra, hogy a parancsrendszerek kompatibilitása csak akkor marad fenn, ha egy programot egy kis teljesítményű mikrokontrollerről egy erősebbre viszünk át.

Az Atmel termékek egyszerűek és érthetőek. Az összes funkció használatához azonban szoftvert kell fejlesztenie. Kezdőknek ajánlott az AVR mikrokontrollerek programozását a speciális Atmel Studio környezet letöltésével kezdeni. Az aktuális verziót a gyártó hivatalos weboldala ingyenesen biztosítja. Nincs szükség további szoftverkomponensekre a szoftver fejlesztéséhez ebben a környezetben.

Az Atmel Studio komplexum számos példát tartalmaz a kész projektekre. Ez segít a kezdőknek gyorsan elsajátítani az alapvető képességeket, és elkezdeni saját programjaikat. Modulokkal is rendelkezik a kód fordításához és végleges hibakereséséhez. A fejlesztésével párhuzamosan programozási nyelveket kell tanulnia. Ezek nélkül a szoftver nem fejleszthető.

Programozási nyelvek

Szerkezetükben a mikrokontrollerek programozási nyelvei alig különböznek a személyi számítógépekhez használt nyelvektől. Vannak köztük alacsony és magas szintű csoportok. A modern programozók főleg C/C++-t és Assemble-t használnak. Végtelen viták folynak e nyelvek hívei között arról, hogy melyik a jobb.

Az alacsony szintű assembler az utóbbi időben teret vesztett. Közvetlen utasításokat használ, amelyek közvetlenül a chipnek szólnak. Ezért a programozónak kifogástalanul ismernie kell a processzorrendszer parancsait. A szoftver írása az Assemblyben jelentős időt vesz igénybe. A nyelv fő előnye a kész program végrehajtásának nagy sebessége.

Valójában szinte bármilyen mikrokontroller programozási nyelv használható. De a legnépszerűbb a C/C++. Ez egy magas szintű nyelv, amely lehetővé teszi, hogy maximális kényelemmel dolgozzon. Sőt, a C alkotói részt vettek az AVR architektúra fejlesztésében. Ezért az Atmel által gyártott chipek kifejezetten ehhez a nyelvhez vannak igazítva.

A C/C++ az alacsony és magas szintű képességek harmonikus kombinációja. Ezért lehetőség van Assembly nyelvi beillesztések bevezetésére a kódba. A kész szoftvertermék könnyen olvasható és módosítható. A fejlesztési sebesség meglehetősen magas. Ebben az esetben nincs szükség az MK architektúra és a CPU parancsrendszer alapos tanulmányozására. A C fordítók lenyűgöző méretű könyvtárakkal vannak felszerelve, ami megkönnyíti a programozó munkáját.

Megjegyzendő, hogy az optimális programozási nyelv kiválasztása a hardvertől is függ. Ha kevés a RAM, nem tanácsos magas szintű C-t használni. Ebben az esetben az Assembler alkalmasabb. Maximális teljesítményt nyújt a rövid programkódnak köszönhetően. Nincs univerzális programozási környezet, de a legtöbb ingyenes és kereskedelmi alkalmazás képes az Assembly-t és a C/C++-t is használni.

PIC mikrokontrollerek

Az első PIC mikrokontrollerek a múlt század második felében jelentek meg. A Microchip gyors 8 bites chipjei azonnal népszerűvé váltak. A kétbuszos Harvard architektúra soha nem látott sebességet biztosít. Egy regiszterkészlet alapján fejlesztették ki, amelyre a buszleválasztás jellemző.

A PIC mikrokontrollerek programozási nyelvének kiválasztásakor figyelembe kell venni, hogy a mikroáramkörök családja egyedi RISC processzorterven alapul. A szimmetrikus parancsrendszer lehetővé teszi a címzési mód tetszőleges kiválasztását és a műveletek végrehajtását bármely regiszterben. Jelenleg a Microchip cég 5 fajta MK-t gyárt, amelyek szoftverkóddal kompatibilisek:

  1. PIC18CXXX (75 parancs, beépített hardververem);
  2. PIC17CXXX (58 parancs, 16 bites formátum);
  3. PIC16CXXX (35 parancs, nagy perifériakészlet);
  4. PIC16C5X (33 utasítás, 12 bites formátum, 18-28 tűs csomagok);
  5. PIC12CXXX (35 és 33 paranccsal rendelkező verziók, integrált generátor).

A legtöbb esetben a PIC MCU-k egyszeri programozható memóriával rendelkeznek. Vannak drágább modellek Flash vagy ultraibolya törléssel. Az 500 tételből álló választék lehetővé teszi, hogy bármilyen feladathoz megfelelő terméket válasszon. A gyártó most a megnövelt memóriakapacitású 32 bites verziók fejlesztésére összpontosítja erőfeszítéseit.

A PIC mikrokontrollerek programozási nyelvei az Assembler és a C. Bármilyen integrált fejlesztői környezet (IDE) alkalmas kódolásra. A velük való programozás nagyon kényelmes. A program szövegét automatikusan gépi kódra fordítják. Az IDE fontos jellemzője az a képesség, hogy lépésről lépésre szimulálja a kész szoftver működését. Javasoljuk az MPLAB fejlesztői környezet használatát. A Microchip készítette.

Az MPLAB-ban való munka megkezdése előtt javasoljuk, hogy minden alkalommal hozzon létre egy külön mappát. Erre azért van szükség, hogy ne keveredjen össze a projektfájlokban. A program interfésze intuitív, és nem okozhat nehézségeket. A hibakereséshez saját fejlesztésű Pickit, ICD, REAL ICE, IC PROG hibakeresőket használnak. Képesek megtekinteni a memória tartalmát és beállítani az ellenőrzési pontokat.

Az elektronikus tervezés témája egyre népszerűbb. Figyelmébe ajánlunk egy cikket, amely a kezdők mikrokontrollereiről szól.

Milyen mikrokontrollerek vannak?

Először is fel kell vázolni a helyzetet a mikrokontrollerekkel. Az tény, hogy nem egy cég gyártja őket, hanem egyszerre több, így elég sok különböző mikrokontroller létezik, amelyek különböző paraméterekkel, használatkor eltérő tulajdonságokkal és képességekkel rendelkeznek. Különböznek a sebességben, a további interfészek és a tűk számában. A volt Szovjetunióban a legnépszerűbbek a RIS és az AVR képviselői. Az AVR és PIC mikrokontrollerek programozása nem nehéz, ami biztosította népszerűségüket.

Hogyan programozzák a mikrokontrollereket?

A mikrokontrollerek programozása általában speciális, programozóknak nevezett eszközökkel történik. A programozók megvásárolhatók vagy házilag is elkészíthetők. De ha egy mikrokontrollert házi készítésű programozóval villogtatunk, elég nagy az esélye annak, hogy „téglává” váljon. Van egy másik lehetőség, amelyet az Arduino tábla példaként használva megfontolhatunk. Az alaplap Atmel mikrokontrollerrel működik, és AVR mikrokontrollerek programozására szolgál. Az alaplapon már van egy előre felvillantott bootloader és egy USB-port, ami lehetővé teszi a használatban lévő mikrokontroller biztonságos flashelését anélkül, hogy a felhasználó hozzáférne olyan adatokhoz, amelyek károsíthatják ugyanezt a mikrovezérlőt. A kezdőknek szánt mikrokontrollerek programozása nem olyan nehéz, mint amilyennek tűnhet, és bizonyos készségekkel és intelligenciával megmenti Önt attól, hogy új mechanizmust kelljen keresnie.

Hardveres különbségek a különböző mikrokontrollerek között

A mikrokontrollerek kiválasztásakor érdemes figyelni néhány hardveres eltérésre, még csak nem is különböző cégektől, hanem ugyanabban a modellkínálatban is. Először is figyelni kell az információk mikrokontrollerbe való átírásának lehetőségére. Ez a funkció lehetővé teszi, hogy hosszú ideig kísérletezzen egy MK-val. Ügyeljen a csapok számára és rendeltetésükre is. Ne hagyja figyelmen kívül annak a kristálynak a működési frekvenciáját, amelyen az áramkör működik: attól függ, hogy a mikrovezérlő másodpercenként hány műveletet tud végrehajtani. Ha ezeket a jellemzőket, valamint az MK memóriáját vizsgáljuk, elsőre úgy tűnhet, hogy a mikrokontrollereken semmi értelmeset nem lehet tenni, de ez téves vélemény. Ne feledje, hogy a kezdő mikrokontrollerek programozásához kezdetben nem kell a legjobb felszerelés, de lehet valami erősebb tartalék.

Mikrokontroller programozási nyelvek

A mikrokontrollerek programozásához két nyelvet használnak: C/C++ és assembler. Mindegyiknek megvannak a maga előnyei és hátrányai. Tehát, ha az assemblerről beszélünk, akkor ez lehetővé teszi, hogy mindent nagyon finoman és hatékonyan csináljunk, ez különösen fontos, ha nincs elég RAM vagy működési teljesítmény (ami azonban meglehetősen ritkán fordul elő). De a tanulmányozása és a programok megírása elég sok erőfeszítést, pontosságot és időt igényel. Ezért a mikrokontrollereken alapuló fejlesztéshez gyakran használják a C és C++ programozási nyelveket. Megjelenésükben és felépítésükben is érthetőbbek, közel állnak az emberi beszédhez, bár nem képviselik azt teljes megértésben. Nagyon jól kidolgozott funkcionalitásuk is van, amelyek könnyen kölcsönhatásba lépnek a hardverrel, elképzelve, hogy ez csak egy programelem. Minden nyilvánvaló előnyük ellenére terjedelmesebb programok készülnek C és C++ nyelven, mint assemblerben.

Ezenkívül bizonyos esetekben, amikor a használt működési terület kritikus, ezek a nyelvek kombinálhatók. Szinte az összes C és C++ fejlesztőkörnyezet képes assembler beszúrásokat telepíteni a programba. Ezért, ha egy kritikus területen probléma merül fel, írhat egy összeállítási betétet, és integrálhatja a mikrokontroller firmware-ébe, és maga a firmware, vagy inkább annak nagy része írható C vagy C++ nyelven. A mikrokontrollerek programozása SI-ben egyszerűbb, ezért sokan választják ezeket a nyelveket. Aki azonban nem fél a nehézségektől és szeretné megérteni a berendezés működésének sajátosságait, az az assembly nyelven is kipróbálhatja magát.

Búcsúzó szavak

Ha szeretne kísérletezni nagy. Csak azt tudjuk tanácsolni, hogy légy türelmes és kitartó, és akkor minden, a feltaláló számára kitűzött cél megvalósíthatónak bizonyul. A kezdőknek és a tapasztalt embereknek szánt mikrokontrollerek programozása másképp néz ki: ami kezdőknek nehéz, az gyakorlottaknak rutinszerű. A legfontosabb dolog az, hogy ne feledjük, hogy minden, ami nem mond ellent a fizika törvényeinek, megvalósítható és megoldható.

    Új vásárlások Több megjelenítése Elrejtés

    10.07.2019: Pozitív élet – az önkritika eltávolítása. Életerő. Bizalom

    10.07.2019: 50 ezer rubelből származó bevétel a társult programokon 200% -os garanciával - VIP

    09.07.2019: 50 ezer rubelből származó bevétel a társult programokon 200% -os garanciával

    09.07.2019: Többdimenziós orvoslás. Öndiagnózis és öngyógyítás [Lezárva]

    2019.07.09.: Rúdtisztítás

    09.07.2019: (Ismétlés) Tisztítási fajta

    09.07.2019: Magas rezgések. Nőknek. Zárva.

    09.07.2019: [Ismétlés] 64 nm területű szoláris biovegetárium rajzai. (SBV-Mini)

    08.07.2019: NAPI 10-100-1000 ÁTMENET A YOUTUBE-BÓL

    07.07.2019: A fekete erők kiűzése és a test gyógyulása

    06.07.2019:

    05.07.2019: Hosszú távú képzés az extraszenzoros észlelésről (Alexey Pokhabov)

    25.06.2019: Ne vásároljon mérgeket gyönyörű csomagolásban (Elena Bahtina)

    24.06.2019: Táplálkozástudományi tanfolyam (V. Dadali)

    23.06.2019: Életed legjobb éve (Elizaveta Babanova)

    22.06.2019: A numerológia mint szakma. A mátrixból származunk. 1. könyv

    06.06.2019:

    04.06.2019:

    30.05.2019: [Baba] [Ismétlés] Teddy-baba

    28.05.2019: Többdimenziós orvoslás. Szívinfarktus [Zárt]

    22.05.2019: 64 nm alapterületű szoláris biovegetárium rajzai. (SBV-Mini)

    21.05.2019: Műanyag babák készítésének alaptanfolyama

    20.05.2019: Stream art retusálás

    20.05.2019:

    20.05.2019:

    20.05.2019: Havi 2 millió stúdióeladás. (Andrey Sazonov)

    29.04.2019: Endokrin rendszer – (munkamenetek) [Nadezhda Kolesnikova]

    29.04.2019: A vesék és a húgyúti rendszer helyreállítása [Nadezhda Kolesnikova]

    19.04.2019:

    19.04.2019:

    19.04.2019: Csupasz zab, Máriatövis, Fertőtlenítés és magcsírázás technológiája. (Frolov Yu.A)

    17.04.2019: [Ismétlés] Licenc probléma nélkül

    17.04.2019: Fényképfeldolgozás lecke (Maria Strutinskaya) 2019

    17.04.2019: Yu.A. Frolov – 4 a 4 ellen A-tól Z-ig

    17.04.2019: Frolov Yu.A. 14. számú információs termék - Szeminárium - Túlélés extrém helyzetekben, felkészülés, kellékek...

    12.04.2019: Szuperügynök vagy Alexander Sankin teljes módszere 24 online leckében

    05.04.2019: Nincs nap sor nélkül (Vera Arsentyeva, Marina Pyatiletova)

    04.04.2019: Személyes márka és Instagram (Anna Roleva, Veronica Yurina)

    04.04.2019: Hacker eljegyzés [Lilia Nilova]

    02.04.2019: Bootstrap 4 Framework Reszponzív elrendezési útmutató

    30.03.2019: Szerkesztés Davinciben Resolve: gyorsindítás (Dmitry Larionov)

    20.03.2019:

    20.03.2019:

    18.03.2019: Mestercsoport: Nyelvtudomány

    18.03.2019: AVITO-BOOM - egy rendszer, amely automatikusan pénzt keres az Avito-n 3500 rubel / naptól! (Pisarevszkij Sándor)

    18.03.2019:

    26.02.2019: Jeffrey Stevens - Hétvégi hipnózisműhely

    14.02.2019:

    01.02.2019: Gyógyító érintés. Kineziológiai Intézet (John Tee, Matthew Tee)

    27.01.2019: Maxim Baterev 3 könyve "45 tetoválás egy személyiségről, menedzserről, eladva..."

    22.01.2019: Webináriumok a SQUIRT-ról

    18.01.2019:

    14.01.2019:

    09.01.2019:

    05.01.2019:

    26.12.2018:

    15.12.2018: Állítsuk meg a megfázást: hogyan erősítsük az immunitást (Margarita Levchenko)

    15.12.2018: Keressen pénzt azzal, hogy megtanítja, hogyan lehet pénzt keresni fogadásokkal (Artem Dosman)

    Vendég, belépett a Reskladchik klubba. 10-szer olcsóbbak vagyunk, mint a Raktárban. Most nem vásárolhat terméket 200 rubelért a Raktárban, de tőlünk a Restockerben mindössze 20 rubelért.

    Hirdetés elrejtése
  1. Szervező kell Több megjelenítése Elrejtés

    06.07.2019: Open Real Estate – Végső verzió

    06.06.2019: VERNI akarok! 2.1+ frissítések 2.2-re és 2.3-ra

    04.06.2019: Dokumentumcsomag egy gyermekközpont sikeres működéséhez

    20.05.2019: Saját tempójú videotanfolyam az Ultra Dent Tools horpadáseltávolításához orosz nyelven (3 DVD)

    20.05.2019: Videotanfolyam önképzéshez a horpadások eltávolításában...

    19.04.2019: [ismétlés] 3bet pot. Tudásunk csiszolása

    19.04.2019: Póker. Kilencedik csomag a freestyle-ból

    17.04.2019: [Ismétlés] Licenc probléma nélkül

    20.03.2019: Három tanár klubja - 38 tanfolyam és MK (Alena Rjabcsenko) (2016)

    20.03.2019: Internetes marketing klinikák számára - 16 könyv

    18.03.2019: [Ismétlés] Két kurzus V. F. Shatalov általános iskolai módszere szerint

    14.02.2019: Testedzés (Natalia Ladini)

    22.01.2019: Webináriumok a SQUIRT-ról

    18.01.2019: Kényelmes forma II

    14.01.2019: [Ismétlés] Minden edzés és gyakorlat Trainerskaya.RU

    09.01.2019: [Szakértő] M20345 - 1: Exchange Server 2016 adminisztrációja

    05.01.2019: Alkalmazott Pszichológiai Központ – Célkitűzés

    26.12.2018: [Új] Kézikönyvek az Alkalmazott Kineziológiai Akadémia 1. évfolyamához Vasilyeva L.F.

    11.12.2018: [Speciális] Professzionális tervezés a CorelDRAW-ban

    27.11.2018: Leckék Wilcom EmbroideryStudio e1.5

    27.11.2018: Korlátozó hiedelmek

    07.11.2018: Lásd még: (a Simoron program második, „napos” része)

    07.11.2018: Az üzlet mint eszköz (egy kész üzlet vásárlása befektetés nélkül) Natalya Zakheim LiKPro

    07.11.2018: 2. szakasz ShK (új)

    28.10.2018: [Technológia] Rugalmas kő

    21.10.2018: Rendszer, amellyel tömeges ügyfeleket vonz az építőipari és javítási szektorba IndexHunter

    21.10.2018: Alex Lesly összes könyve

    16.10.2018: Saját kezűleg varrunk oktatási játékokat

    16.10.2018: [Ismétlés] Az ötletes megoldások iskolájának „Megnyitása” egyetemes kurzusa ötlet-óra

    16.10.2018: Szemöldök dekoráció (Natalia Shik)

    26.09.2018: Weboldal költségkalkulátor. Web Builder bővítmény

    15.09.2018: A sikeres kommunikáció titkai a boldog élet eléréséhez (Julia Lanske)

    10.09.2018: Együttműködés – szoftveres (PC) szervezőknek

    10.09.2018: [Ismétlés] A gyermek természetes képességeinek fejlesztése napi 10 percben

    03.09.2018: A CMDC három tábornokának aktiválása

    25.08.2018: Szomatipológia. Emberek olvasása testalkat szerint, erősségeinek azonosítása testtípus szerint.

    25.08.2018: 5 fogásból álló készlet féláron. R. Abdullin

    09.08.2018: Premium Exchanger automatikus csere szkript

    02.08.2018: Elena Bahtina arctranszformációs tanfolyam

    02.08.2018: Shamoyan – Megtanulom szeretni magam

    02.08.2018: Bonono sablon

    27.07.2018: Archhetipikus tarot

    24.07.2018: Egy nagy keresett ember (Egor Seremetyev)

    24.07.2018: Metaforikus asszociációs kártyák - Habitat pakli

    21.07.2018: Maghreb varázslat

    10.07.2018: "Turbo Cash Flow by Kiyosaki – STANDARD"

    01.07.2018: Angol malaccal és... (5 DVD)

    23.06.2018: 8500+ forrás a Photoshophoz

    17.06.2018: Emberek és istenek (S. Savchenko)

    14.06.2018: Webhely játék valuta értékesítésére

    09.06.2018: Felnőttek vagyunk és a szüleink

    27.05.2018: Varrójátékok mesterkurzusainak teljes sorozata

    27.05.2018: Talpis és Moshinskaya: képzés a metaforikus asszociatív térképekkel való munkavégzésről

    16.05.2018: [Ismétlés] Jövedelmező beton, üzlet 1000 dollárért

    13.05.2018: Lépésről lépésre, hogyan készítsünk konyhát saját kezűleg, és hogyan készítsünk üzletet a konyhákban.

    02.05.2018: Daria Abakhtimova alapképzési kurzusa „A TUDATOSSÁGON TÚL” 1.0

    27.04.2018: easyReservations Premium – talán a legjobb foglalási bővítmény

A kurzus elsősorban azoknak szól, akik érdeklődnek az elektronika és azon belül is a mikrokontrollerek programozása iránt, valamint azoknak, akik ezen a területen dolgoznak, de tudásukat a fejlett technológiák szintjére kell fejleszteniük.
A kurzus nagyrészt azoknak a hallgatóknak készült, akik még keveset ismerik ezt a témát, és mindent következetesen és részletesen szeretnének tanulmányozni. De a legújabb fejlesztésekről lemaradt professzionális elektronikai mérnökök is rengeteg információt találhatnak készségeik fejlesztéséhez.
A képzés sikeres elvégzése után a hallgató képes lesz olyan programokat írni, amelyek segítségével a modern mikrokontrollerek legtöbb képességét kihasználja. Ezenkívül egy jó alap lehetővé teszi egy teljesen más architektúrájú vezérlő gyors tanulmányozását.

A képzés előrehaladása:

A kurzusról részletes anyag található szöveges formában, amelyet a tanár továbbít a hallgatónak további felkészítés és a megszerzett ismeretek megszilárdítása érdekében.
A "Mikrokontrollerek programozása C nyelven" című kurzus számos példát tartalmaz. Az edzés során pedig házi feladatként áramköröket készítünk, és mikrokontrollert programozunk különböző külső eszközök vezérlésére.
Egyébként a hallgató maga is javasolhatja, hogy mit szeretne a jövőben megvalósítani, a tanár pedig úgy alakítja át a tanulás menetét, hogy a diák a lehető legközelebb kerüljön céljához.

Lefedett témakörök:

  1. Bevezetés a mikrokontrollerek programozása témakörbe
  2. Óragenerátorok
  3. I/O portok
  4. Megszakítja
  5. Időzítők
  6. Capture modul
  7. Összehasonlító modul
  8. UART
  9. Grafikus kijelzővel végzett munka

Szinte néhány hasonló kurzus létezik, és ezek mind off-line formátumban vannak. Tanárral egyéni képzésen vesz részt a szerzői program szerint.
Az on-line óráknak köszönhetően folyamatosan kap visszajelzést a tanártól, aki elmagyarázza, tanácsokat ad, és javaslatokat is ad a programok optimalizálására, tanácsokat ad az elektronikai alkatrészek használatához. A jövőben az elektronika területén valós projekteken való közös munka nem kizárt.

A tanfolyam megkezdéséhez a hallgatónak ismernie kell a C programozási nyelv alapfogalmait, és tudnia kell azokat alkalmazni.
Ha a hallgató nem ismeri a C nyelvet, akkor először a „Programozás alapjai C nyelven” kurzust kell elvégeznie (lehet ugyanaz a tanár, de a gyakorlatban még jobb), és sikeres tanulás után az alapokat, elkezdheti tanulni a mikrokontrollerek programozását.
Ha a tanuló rendelkezik C nyelvtudással, akkor ezt a tudást a tanár mindenképpen ellenőrzi, és ha egyes témák további megértéséhez szükséges, akkor javasolja, hogy mely témákat kell ismételni.