DOMOV víza Vízum do Grécka Vízum do Grécka pre Rusov v roku 2016: je to potrebné, ako to urobiť

Programovanie mikrokontrolérov pre začiatočníkov. Programovanie mikrokontrolérov v jazyku c Aké mikrokontroléry existujú

Som kategoricky proti tomuto postupu. Zvyčajne to všetko končí - buď s ničím, alebo s fórami upchatými prosbami o pomoc. Aj keď sa niekomu pomôže, v 90% prípadov sa už nikdy neobjaví na stránkach s elektronikou. Vo zvyšných 10% naďalej zahlcuje fóra prosbami, najskôr ho kopnú, potom po ňom hádžu blato. Z týchto 10% je eliminovaných ďalších 9%. Potom sú dve možnosti: buď príde na hlúpu hlavu a stále ide na začiatok, alebo v obzvlášť zanedbaných variantoch je jeho úlohou kopírovať návrhy iných ľudí bez jediného premýšľania o tom, ako to funguje. Arduinisti sa často rodia z toho druhého.

Cesta od nuly je podľa mňa študovať periférie a funkcie, ak ide o mikrokontrolér. Je lepšie najprv zistiť, ako kopať nohami, potom časovače a potom rozhrania. A az potom skus zvysit TUKY. Áno, nie je to rýchle a bude to vyžadovať čas a úsilie, ale prax ukazuje, že bez ohľadu na to, ako sa pokúsite skrátiť túto cestu, stále sa objavia problémy, ktoré bude potrebné vyriešiť a bez tohto základu strávite oveľa viac času.

Len si nezamieňajte teplé a mäkké. Po prvé, existujú výnimky zo všetkých pravidiel, osobne som videl ľudí, ktorí nikdy predtým nedržali mikrokontroléry v rukách, ale v extrémne krátkom čase dokázali predbehnúť skúsených skúsených rádioamatérov, neberieme ich do úvahy. Po druhé, narazil som na jednotlivcov, ktorí začali kopírovaním diagramov a hneď na to prišli, ale toto je s najväčšou pravdepodobnosťou výnimka z pravidla. Po tretie, medzi vývojármi Arduina sú aj skúsení programátori, toto je len platforma, ale je to skôr výnimka.

Ak hovoríme o všeobecnej mase, potom sa veci majú presne tak, ako som opísal na začiatku: neochota zaoberať sa základmi v najlepšom prípade odďaľuje moment, kedy sa musíte k týmto otázkam vrátiť. V horšom prípade rýchlo narazíte na strop svojich vedomostí a za svoje problémy vždy obviňujete niekoho iného.

2. Pred vyriešením problému ho rozoberte až do absurdnosti, až po „spájkovanie odporu“, pomáha to, je to odskúšané. Malé problémy sa riešia oveľa ľahšie. Keď sa veľká úloha rozloží na kopu malých akcií, zostáva ich už len dokončiť. Môžem vám dať ešte jednu dobrú radu, aj keď sa vám to môže zdať šialené – zaobstarajte si zošit a zapíšte si doň všetko, čo sa chystáte robiť. Myslíte si, že si to zapamätám, ale nie. Povedzme, že dnes mám dobrú náladu a rozmýšľam, ako zbierať tabuľu. Napíšte akčný plán: choďte si kúpiť rezistor, pripravte vodiče, namontujte displej. Potom na všetko zabudnete, otvoríte si zápisník a pozriete sa – áno, dnes mám náladu píliť a plánovať, urobím zapínanie. Alebo montujete dosku a ostáva prispájkovať posledná súčiastka, ale nie je to tak, došli odpory, tak som si to mal zapísať pred spájkovaním, potom som si spomenul.

3. Nepoužívajte generátory kódu, neštandardné funkcie a iné zjednodušenia, aspoň v prvých fázach. Môžem vám dať svoj osobný príklad. Keď som aktívne používal AVR, použil som kodogén CAVR. Bola som s ním úplne spokojná, hoci všetci hovorili, že je svinstvo. Neustále sa ozývali zvony, boli problémy s knižnicami, so syntaxou, s portovaním, no ťažko sa toho vzdalo. Nerozumel som, ako to funguje, len som vedel, kde a ako zaškrtnúť políčka.

Kôl bol vrazený do mojej rakvy s príchodom STM32, bolo potrebné sa na ne doplaziť a vtedy sa objavili problémy. Problémy sú v skutočnosti mierne povedané, musel som zvládnuť mikrokontroléry a jazyk C od začiatku. Už som neopakoval minulé chyby. Musím povedať, že toto sa mi už viac ako raz hodilo. Odvtedy som mal možnosť pracovať s inými platformami a nezaznamenal som žiadne problémy, ktoré by sa odôvodňovali.

Pokiaľ ide o všetky vylepšenia a zjednodušenia, bolo tu jedno veľmi dobré porovnanie: sú ako invalidné vozíky, ktoré jazdia po koľajniciach, môžete ísť a užívať si, ale nemôžete vstať, kam vás odvezú, tam sa dostanete.

4. Naučte sa jazyk C. Ach, ako často počujem začínajúcich rádioamatérov chváliť sa, že rádio dobre poznajú. Toto sa pre mňa stalo potravou, vždy sa rád poradím s takýmito partnermi. Zvyčajne je hneď jasné, že tento jazyk vôbec nevedia. Môžem povedať, že napriek zjavnej jednoduchosti som nestretol veľa ľudí, ktorí by ho skutočne dobre poznali. V podstate ho každý pozná toľko, koľko je potrebné na riešenie problémov.

Problém je však podľa mňa v tom, že bez poznania možností sa výrazne obmedzujete. Na jednej strane nie optimálne riešenia, ktoré si budú vyžadovať výkonnejší hardvér, na druhej strane nečitateľný kód, ktorý je náročný na údržbu. Podľa môjho názoru je čitateľnosť a udržiavateľnosť kódu jedným z najdôležitejších miest a je pre mňa ťažké predstaviť si, ako sa to dá dosiahnuť bez využitia všetkých možností jazyka C.

Mnoho začiatočníkov opovrhuje učením sa jazyka, takže ak nie ste ako všetci ostatní, budete okamžite o dva kroky vyššie ako ostatní začiatočníci. Nezáleží ani na tom, kde študovať jazyk. Mikrokontrolér sa na to podľa mňa veľmi nehodí. Oveľa jednoduchšie je nainštalovať nejaké Visual studio alebo Qt Creator a riešiť problémy na príkazovom riadku.

Dobrou pomôckou bude aj preštudovanie prípadných jazykových testov, ktoré sa dávajú počas pohovorov. Ak budete kopať, môžete sa naučiť veľa nových vecí.

5. Učíte sa assembler? Netreba sa ho báť, ani ho zbožňovať. Nemali by ste si myslieť, že ak viete, ako napísať program v assembleri, okamžite sa stanete guru mikrokontrolérov, z nejakého dôvodu je to bežná mylná predstava. V prvom rade je to nástroj. Aj keď ho neplánujete používať, stále by som dôrazne odporúčal napísať aspoň pár programov. Výrazne vám to zjednoduší pochopenie fungovania mikrokontroléra a vnútornej štruktúry programov.

6. Prečítajte si údajový list. Mnoho vývojárov to zanedbáva. Preštudovaním datasheetu budete o dva stupne vyššie ako títo vývojári. Robiť to je mimoriadne užitočné, po prvé, toto je primárny zdroj, bez ohľadu na to, aké stránky čítate, vo väčšine prípadov opakujú informácie z údajového listu, často s chybami a opomenutiami. Môžu tam byť aj informácie, na ktoré teraz nemyslíte, ale v budúcnosti sa vám môžu hodiť. Môže sa stať, že sa objaví nejaká chyba a vy si spomeniete, že áno, bolo to povedané v datasheete. Ak je vaším cieľom stať sa dobrým vývojárom, tejto fáze sa nedá vyhnúť.

7. Ľudia často žiadajú o zaslanie údajových listov v ruštine. Datasheet je niečo, čo by sa malo vnímať ako pravdivé, najpresnejšie informácie. Aj tam sú možné chyby. Ak sa k tomu pridajú chyby prekladateľa, je to tiež človek, možno ani nie naschvál, len zle napísané. Alebo má vlastnú víziu, môže mu uniknúť niečo, čo podľa neho nie je dôležité, ale pre vás možno mimoriadne dôležité. Situácia sa stáva obzvlášť vtipnou, keď potrebujete nájsť dokumentáciu k nie veľmi populárnym komponentom.

Podľa môjho názoru je oveľa jednoduchšie vylúčiť celú vrstvu týchto problémov vopred, ako ich podchytiť neskôr. Preto som kategoricky proti prekladom, jediná správna rada je študovať angličtinu, aby ste si mohli prečítať dátové listy a manuály v origináli. Význam frázy môžete pochopiť pomocou prekladateľských programov, aj keď je vaša jazyková úroveň úplne nulová.

Uskutočnil som experiment: mal som študenta, datasheet a Google prekladač. Pokus č.1: Študent dostal datasheet a dostal za úlohu samostatne nájsť požadované hodnoty, výsledkom je „ako môžem“, „Neviem po anglicky“, „Nič som nenašiel/nenašiel som „Nerozumiem“ sú typické frázy naznačujúce, že sa o to ani nepokúsil. Pokus č.2: Ten istý študent dostal rovnaký datasheet a rovnakú úlohu s tým rozdielom, že som sedel vedľa neho. Výsledkom je, že po 5 minútach našiel všetky potrebné hodnoty sám, absolútne bez mojej účasti, bez znalosti angličtiny.

8. Objavte znovu koleso. Napríklad, ak študujete nejakú novú vec, povedzme tranzistor, strýko Horowitz na stránkach svojej knihy autoritatívne vyhlasuje, že tranzistor zosilňuje, vždy povedzte - NEVERÍM. Vezmeme do rúk tranzistor, zapojíme ho do obvodu a presvedčíme sa, že je to naozaj tak. Existuje celá vrstva problémov a jemností, ktoré nie sú opísané v knihách. Cítite ich len vtedy, keď ich zoberiete a pokúsite sa ich zložiť. Zároveň získame množstvo súvisiacich vedomostí a naučíme sa jemnosti. Navyše na akúkoľvek teóriu bez praxe sa oveľa rýchlejšie zabudne.

V počiatočnej fáze mi veľmi pomohla jedna metóda - najprv zostavíte obvod a uvidíte, ako to funguje, a potom sa pokúsite nájsť zdôvodnenie v knihe. To isté je so softvérovou časťou, keď existuje hotový program, je ľahšie ho pochopiť a korelovať časti kódu, ktoré sú zodpovedné za čo.

Je tiež dôležité ísť nad rámec toho, čo je povolené, použiť viac/menej napätie, vyrobiť väčšie/menšie odpory a sledovať zmeny v činnosti obvodu. To všetko zostáva v mozgu a bude užitočné v budúcnosti. Áno, je to plné spotreby komponentov, ale to považujem za nevyhnutné. Najprv som sedel a strieľal zo všetkého, ale teraz, pred stávkou na tú či onú nominálnu hodnotu, si vždy spomeniem na tie zábavné časy a následky toho, že som dal nesprávnu nominálnu hodnotu.

9. Ako by som to urobil, keby som bol vývojárom? Môžem to urobiť lepšie? Položte si tieto otázky zakaždým, skutočne vám to pomôže napredovať vo vašom učení. Preštudujte si napríklad rozhrania 1wire, i2c, spi, uart a potom sa zamyslite nad tým, ako sa líšia, či sa to nedalo urobiť lepšie, pomôže vám to pochopiť, prečo je všetko tak a nie inak. Budete tiež vedieť, kedy a ktorý z nich je lepšie použiť.

10. Nenechajte sa obmedzovať technológiou. Je dôležité, aby táto rada mala veľmi jemnú líniu. V živote nastala etapa, keď z každého vchodu bolo počuť „mali by ste poznať FPGA“, „ale s FPGA sa dá niečo urobiť“. Formálne som nemal žiadne ciele študovať PLISiny, ale neexistoval spôsob, ako by som to mohol ignorovať. Na oboznámenie sa s touto problematikou bolo vyčlenených trochu času. Čas sa nestrácal, mal som množstvo otázok ohľadom vnútornej štruktúry mikrokontrolérov a práve po komunikácii s Plisins som na ne dostal odpovede. Podobných príkladov je veľa, všetky vedomosti, ktoré som v tej či onej forme nadobudol, sa mi skôr či neskôr hodili. Nemám jediný zbytočný príklad.

Ale ako už bolo povedané, otázka technológie má tenkú hranicu. Nie je potrebné všetko chytiť. V elektronike je veľa oblastí. Možno máte radi analógové, možno digitálne, možno ste špecialista na napájanie. Ak to nie je jasné, skúste sa všade, ale prax ukazuje, že na začiatku je lepšie sústrediť sa na niečo konkrétne. Aj keď potrebujete stlačiť v niekoľkých smeroch, je lepšie to robiť v krokoch, najskôr pretlačiť jednu vec.

11. Ak sa spýtate začínajúceho rádioamatéra, čo sa mu páči viac: programovanie alebo návrh obvodov, tak s 99% pravdepodobnosťou bude odpoveďou programovanie. Zároveň títo programátori trávia väčšinu času výrobou dosiek s LUT/fotorezistom. Dôvody sú vo všeobecnosti jasné, ale často sa to zmení na akési šialenstvo, ktoré spočíva vo výrobe dosiek kvôli výrobe dosiek.

Na internete je takmer jediný skutočný spôsob programovania stať sa Jediom vo výrobe dosiek plošných spojov. Aj ja som si touto cestou prešiel, no zakaždým si kladiem otázku prečo? Odkedy som si kúpil pár tabúľ na všetky príležitosti, zakaždým si pomyslím, že by som celý ten čas pokojne prežil bez domácich tabúľ. Moja rada znie, ak je čo i len kvapka pochybností, je lepšie sa neobťažovať a vziať si hotovú dosku na ladenie a bolo by lepšie minúť čas a peniaze na programovanie.

12. Ďalšia rada je obzvlášť bolestivá, naozaj o nej nechcem diskutovať, ale musím.Často mi píšu, že xxx rubľov sú príliš drahé, kde ich zoženiem lacnejšie. Zdá sa to ako bežná otázka, ale väčšinou ma hneď napína, pretože sa často mení na nekonečné sťažovanie sa na nedostatok peňazí. Vždy mám otázku: prečo si neodtrhnúť zadok a ísť do práce? Dokonca zaroven aj na stavbu treba cakat mesiac, ale potom sa da kupit par dosiek, ktore vydrzia na dalsi rok. Áno, viem, že v malých mestách a dedinách je ťažké nájsť si prácu, presťahovať sa do veľkého mesta. Pracujte na diaľku, vo všeobecnosti sa musíte točiť. Sťažovať sa jednoducho nemá zmysel, zo situácie existuje východisko, kto hľadá, nájde.

13. V tom istom prasiatku pridám veľmi bolestivý problém nástroja. Nástroj by vám mal umožniť čo najrýchlejší vývoj zariadení. Z nejakého dôvodu si mnohí vývojári nevážia svoj čas. Typickým príkladom je lacná krimpovacia koncovka, na ktorej mnohí zamestnávatelia radi šetria. Problém je v tom, že sa ani správne nezalisuje, čo spôsobuje vypadávanie drôtov. Musíte vykonať množstvo ďalších manipulácií a podľa toho strácať čas. Ale ako viete, hlupák platí trikrát, takže nízka cena krimpovačky sa mnohonásobne zvýši v dôsledku vynaloženého času a nízkej kvality krimpovania.

Nehovorím, že lacné = zlé, nie - všetko závisí od situácie. Vrátim sa k príkladu krimpovača, bolo obdobie, keď som ho krimpoval čímkoľvek, takže často nastali problémy. Je to obzvlášť nepríjemné, keď spustíte dosku a nefunguje, po dlhom hľadaní chyby si uvedomíte, že je to kvôli zle zvlnenému drôtu, je to škoda. Odkedy sa objavilo normálne krimpovanie, takéto problémy sa nevyskytli. Áno, vnútorná ropucha kvákala a dusila sa svojimi nákladmi, ale toto rozhodnutie som nikdy neoľutoval. Chcem len povedať, že po práci s normálnym nástrojom sa už nechcete vrátiť k tomu zlému, dokonca o tom nechcete ani diskutovať. Ako ukazuje prax, je lepšie nešetriť na nástrojoch, ak máte pochybnosti, vyskúšajte to od niekoho, prečítajte si recenzie, recenzie.

14. Spustite webovú stránku, môžete si na ňu písať, čo chcete, rovnako ako poznámky. Prax ukazuje, že zamestnávatelia to stále nečítajú, no samotná skutočnosť má veľký vplyv.

15. Delikátna otázka: je špecializované vysokoškolské vzdelanie potrebné? Poznám nejeden prípad, keď ľudia pracovali absolútne bez vzdelania a na základe svojich skúseností a vedomostí by mohli dať svetlo každému certifikovanému odborníkovi. V skutočnosti nemám špecializované vzdelanie, cítim sa z toho nepríjemne? Do istej miery áno.

Na úplnom začiatku, keď boli pre mňa mikrokontroléry koníčkom, som veľa pomáhal s kurzami a diplomami z rôznych univerzít, len aby som zhodnotil svoju úroveň. Môžem s istotou povedať, že úroveň je vo všeobecnosti nízka, bez ohľadu na názov univerzity. Na napísanie takejto diplomovky nie je potrebné študovať niekoľko rokov. Môžete to dosiahnuť sami vo veľmi krátkom čase. A predsa, často sa stávalo, že študenti vedeli nejaký predmet, ktorý preberali v 2. – 3. ročníku, ale ja som ho nevedel. Všetky tieto vedomosti boli síce kompenzované sebavzdelávaním, no stále by bolo lepšie nestrácať čas týmto.

Univerzita kvôli kusu papiera. Môžem povedať, že boli aj situácie, keď im ponúkli prácu, ktorá si vyžadovala povinné vzdelanie a bola škoda, že v tom momente nebol papier. Vo všeobecnosti však história ukazuje, že väčšina zamestnávateľov sa o vaše papiere nestará.

Ďalší bod sa dosť často neberie do úvahy, tým je prostredie. Nezabúdajte, že ľudia, s ktorými študujete, sú vaša generácia a je možné, že s nimi budete spolupracovať. Počet firiem pôsobiacich v jednom odvetví je veľmi obmedzený. Prax ukazuje, že aj vo veľkých mestách o sebe všetci vedia až po intímne detaily.

Ďalším bodom sú príležitosti. Vysoké školy majú často svoje možnosti – vybavenie, možno nejaké sekcie, možno nejaké programy na prácu v zahraničí, to treba využiť, ak je čo i len najmenšia príležitosť. Ak na univerzite nevidíte žiadne vyhliadky, choďte na inú, svet nekončí len pri jednej.

Aby som to zhrnul, rada je takáto: ak je čo i len najmenšia príležitosť, treba ísť študovať, určite podľa profilu, ak je aspoň nejaká šanca, tak lez všade, a nie sedieť na zadnom sedadle; Zoznámte sa, zároveň sa doma cvičte a rozvíjajte.

16. Je príliš neskoro začať programovať vo veku 20, 30, 40, 50 rokov? Prax iných ľudí ukazuje, že vek vôbec nie je prekážkou. Z nejakého dôvodu mnohí neberú do úvahy skutočnosť, že existuje celá vrstva práce, ktorú mladí ľudia kvôli svojim ambíciám robiť nechcú. Zamestnávatelia preto radšej prijímajú tých, ktorí to budú nosiť. Toto je vaša šanca na uchytenie a potom všetko závisí len od vás.

A ešte jedna rada na záver. Veľa rádioamatérov je nekomunikatívnych, nahnevaných a podráždených – to považujte za pracovné špecifikum. Vyžarujte láskavosť a pozitivitu, buďte dobrým človekom.

Mikrokontroléry sú špeciálnym typom čipu, ktorý sa používa na ovládanie rôznych elektronických zariadení.

Ide o miniatúrne počítače, ktorých všetky komponenty (procesor, RAM, ROM) sú umiestnené na jednom čipe. Od mikroprocesorov sa odlišujú prítomnosťou časovačov, ovládačov, komparátorov a iných periférnych zariadení. V súčasnosti sa vo výrobe používajú mikrokontroléry:

  • Senzory pre automobily;
  • hračky;
  • indikátory napätia, nabíjačky;
  • ovládacie panely;
  • miniatúrne elektronické zariadenia.

Riadenie sa vykonáva pomocou špeciálnych programov.

Pre začiatočníkov sa odporúča začať ovládať programovanie mikrokontrolérov štúdiom architektúry a odrôd. Priemysel vyrába tieto typy MK:

  • vstavaný;
  • 8-, 16- a 32-bitové;
  • digitálne signálové procesory.

Výrobcovia mikrokontrolérov musia neustále balansovať medzi veľkosťou, výkonom a cenou produktov. Preto sa stále používajú 8-bitové modely. Majú skôr nízku produktivitu, ale v mnohých prípadoch je táto skutočnosť výhodou, pretože umožňuje šetriť energetické zdroje. Digitálne signálové procesory sú schopné spracovávať veľké dátové toky v reálnom čase. Ich cena je však oveľa vyššia.

Počet použitých operačných kódov nemusí byť rovnaký. Preto sa používajú inštrukčné systémy RISC a CISC. Prvý sa považuje za redukovaný a vykonáva sa v jednom hodinovom cykle generátora. To umožňuje zjednodušiť hardvérovú implementáciu CPU a zvýšiť výkon čipu. CISC je komplexný systém, ktorý dokáže výrazne zvýšiť efektivitu zariadenia.

Je nemožné naučiť sa programovanie mikrokontrolérov pre začiatočníkov bez pochopenia algoritmov. Príkazy sa odosielajú do CPU čipu v určitom poradí. Navyše ich štruktúru musí spracovateľ jednoznačne vnímať. Preto najprv programátor vytvorí postupnosť vykonávania príkazov. Môžete prinútiť CPU, aby okamžite zastavilo program volaním prerušenia. Na tento účel sa používajú externé signály alebo vstavané periférne zariadenia.

Rodiny mikrokontrolérov

Najbežnejšie rodiny mikrokontrolérov sú:

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

Jedným z najobľúbenejších produktov v elektronickom priemysle sú produkty Atmel, postavené na jadre RISC. Prvé mikroobvody vyvinuté v roku 1995 patria do skupiny Classic. Programovanie mikrokontrolérov AVR pre začiatočníkov je vhodné študovať na modernejších modeloch:

  • Mega je rodina výkonných čipov s pokročilou architektúrou.
  • Drobné - lacné produkty s ôsmimi kolíkmi.

Je potrebné mať na pamäti, že kompatibilita príkazových systémov je zachovaná iba pri prenose programu z mikrokontroléra s nízkym výkonom na výkonnejší.

Produkty Atmel sú jednoduché a zrozumiteľné. Aby ste však mohli využívať všetky funkcie, budete musieť vyvinúť softvér. Pre začiatočníkov sa odporúča začať s programovaním mikrokontrolérov AVR stiahnutím špecializovaného prostredia Atmel Studio. Aktuálnu verziu poskytuje oficiálna stránka výrobcu bezplatne. Na vývoj softvéru v tomto prostredí nie sú potrebné žiadne ďalšie softvérové ​​komponenty.

Komplex Atmel Studio zahŕňa obrovské množstvo príkladov hotových projektov. To pomôže začiatočníkovi rýchlo zvládnuť základné možnosti a začať vytvárať vlastné programy. Má tiež moduly na kompiláciu a konečné ladenie kódu. Paralelne s jeho vývojom treba študovať programovacie jazyky. Bez nich nemožno vyvíjať softvér.

Programovacie jazyky

Vo svojej štruktúre sa programovacie jazyky mikrokontrolérov len málo líšia od jazykov používaných pre osobné počítače. Medzi nimi sú skupiny na nízkej a vysokej úrovni. Moderní programátori používajú hlavne C/C++ a Assembly. Medzi prívržencami týchto jazykov sú nekonečné debaty o tom, ktorý z nich je lepší.

Nízkoúrovňový assembler v poslednej dobe stráca pôdu pod nohami. Používa priame inštrukcie adresované priamo čipu. Preto sa od programátora vyžaduje dokonalé znalosti príkazov systému procesora. Napísanie softvéru v Assembly zaberie značné množstvo času. Hlavnou výhodou jazyka je vysoká rýchlosť vykonávania hotového programu.

V skutočnosti je možné použiť takmer akýkoľvek programovací jazyk mikrokontrolérov. Najpopulárnejší je však C/C++. Ide o jazyk na vysokej úrovni, ktorý vám umožňuje pracovať s maximálnym komfortom. Okrem toho sa tvorcovia C podieľali na vývoji architektúry AVR. Čipy vyrábané spoločnosťou Atmel sú preto prispôsobené práve tomuto jazyku.

C/C++ je harmonická kombinácia funkcií nízkej a vysokej úrovne. Preto je možné do kódu zaviesť vložky v jazyku assembler. Hotový softvérový produkt je ľahko čitateľný a upraviteľný. Rýchlosť vývoja je pomerne vysoká. V tomto prípade nie je potrebné dôkladné štúdium architektúry MK a systému príkazov CPU. Kompilátory jazyka C sú vybavené knižnicami pôsobivej veľkosti, čo uľahčuje prácu programátora.

Treba si uvedomiť, že výber optimálneho programovacieho jazyka závisí aj od hardvéru. Ak máte malé množstvo pamäte RAM, neodporúča sa používať C na vysokej úrovni. V tomto prípade je vhodnejší Assembler. Poskytuje maximálny výkon vďaka krátkemu programovému kódu. Neexistuje žiadne univerzálne programovacie prostredie, ale väčšina bezplatných a komerčných aplikácií môže používať Assembly aj C/C++.

PIC mikrokontroléry

Prvé mikrokontroléry PIC sa objavili v druhej polovici minulého storočia. Rýchle 8-bitové čipy Microchip si okamžite získali popularitu. Harvardská architektúra s dvoma zbernicami poskytuje bezprecedentnú rýchlosť. Bol vyvinutý na základe súboru registrov, ktorý sa vyznačuje oddelením zberníc.

Pri výbere programovacieho jazyka pre mikrokontroléry PIC musíte vziať do úvahy, že rodina mikroobvodov je založená na jedinečnom dizajne procesora RISC. Symetrický príkazový systém umožňuje ľubovoľne zvoliť spôsob adresovania a vykonávať operácie v ľubovoľnom registri. V súčasnosti spoločnosť Microchip vyrába 5 druhov MK, ktoré sú kompatibilné softvérovým kódom:

  1. PIC18CXXX (75 príkazov, vstavaný hardvérový zásobník);
  2. PIC17CXXX (58 príkazov, 16-bitový formát);
  3. PIC16CXXX (35 príkazov, veľká sada periférií);
  4. PIC16C5X (33 inštrukcií, 12-bitový formát, 18-28 pinové balíčky);
  5. PIC12CXXX (verzie s 35 a 33 príkazmi, integrovaný generátor).

Vo väčšine prípadov majú PIC MCU jednorazovú programovateľnú pamäť. Existujú drahšie modely s bleskom alebo ultrafialovým vymazaním. Sortiment 500 položiek vám umožňuje vybrať si produkt pre akúkoľvek úlohu. Teraz výrobca sústreďuje svoje úsilie na vývoj 32-bitových verzií so zvýšenou kapacitou pamäte.

Programovacie jazyky pre mikrokontroléry PIC sú Assembler a C. Na kódovanie je vhodné akékoľvek integrované vývojové prostredie (IDE). Programovanie s nimi je veľmi pohodlné. Automaticky prekladajú text programu do strojového kódu. Dôležitou charakteristikou IDE je schopnosť krok za krokom simulovať prevádzku hotového softvéru. Odporúčame použiť vývojové prostredie MPLAB. Bol vytvorený spoločnosťou Microchip.

Pred začatím práce v MPLAB odporúčame zakaždým vytvoriť samostatný priečinok. Je to potrebné, aby nedošlo k zámene v projektových súboroch. Rozhranie programu je intuitívne a nemali by s ním byť žiadne problémy. Na ladenie sa používajú proprietárne debuggery Pickit, ICD, REAL ICE, IC PROG. Majú možnosť prezerať si obsah pamäte a nastavovať kontrolné body.

Téma elektronického dizajnu je čoraz populárnejšia. Upozorňujeme na článok, ktorý vám povie o mikrokontroléroch pre začiatočníkov.

Aké mikrokontroléry existujú?

V prvom rade je potrebné načrtnúť situáciu s mikrokontrolérmi. Faktom je, že ich nevyrába jedna firma, ale viacero naraz, takže existuje pomerne veľa rôznych mikrokontrolérov, ktoré majú rôzne parametre, iné vlastnosti pri použití a rôzne schopnosti. Líšia sa rýchlosťou, dodatočnými rozhraniami a počtom pinov. Najpopulárnejšími v celom bývalom ZSSR sú zástupcovia RIS a AVR. Programovanie mikrokontrolérov AVR a PIC nie je zložité, čo zaisťuje ich popularitu.

Ako sa programujú mikrokontroléry?

Programovanie mikrokontrolérov sa spravidla vykonáva pomocou špeciálnych zariadení nazývaných programátory. Programátory môžu byť zakúpené alebo domáce. Ale pri blikaní mikrokontroléra pomocou domáceho programátora je šanca, že sa zmení na „tehlu“, pomerne vysoká. Existuje ďalšia možnosť, ktorú možno zvážiť pomocou dosky Arduino ako príkladu. Doska beží na mikrokontroléri Atmel a slúži na programovanie mikrokontrolérov AVR. Doska už má predflashovaný bootloader a USB port, ktoré vám umožňujú bezpečne flashovať používaný mikrokontrolér bez toho, aby ste používateľovi poskytli prístup k údajom, ktoré by mohli poškodiť tento mikrokontrolér. Programovanie mikrokontrolérov pre začiatočníkov nie je také ťažké, ako by sa mohlo zdať, a s určitou zručnosťou a inteligenciou vás ušetrí od potreby ísť za novým mechanizmom.

Hardvérové ​​rozdiely medzi rôznymi mikrokontrolérmi

Pri výbere mikrokontrolérov by ste si mali dať pozor na niektoré hardvérové ​​rozdiely, a to ani od rôznych spoločností, ale aj v rovnakej modelovej rade. Najprv by ste mali venovať pozornosť možnosti prepisovania informácií do mikrokontroléra. Táto funkcia vám umožní dlhodobo experimentovať s jedným MK. Dávajte pozor aj na počet kolíkov s ich účelom. Nezanedbávajte prevádzkovú frekvenciu kryštálu, na ktorom obvod pracuje: závisí od toho počet operácií za sekundu, ktoré môže mikrokontrolér vykonať. Pri skúmaní týchto charakteristík, ako aj pamäte MK, sa spočiatku môže zdať, že na mikrokontroléroch sa nedá nič zmysluplné urobiť, ale ide o mylný názor. Pamätajte, že programovanie mikrokontrolérov pre začiatočníkov si na začiatok nevyžaduje to najlepšie vybavenie, ale môžete mať v zálohe niečo výkonnejšie.

Programovacie jazyky mikrokontrolérov

Na programovanie mikrokontrolérov sa používajú dva jazyky: C/C++ a assembler. Každý z nich má svoje výhody a nevýhody. Takže, ak hovoríme o assembleri, potom umožňuje robiť všetko veľmi jemne a efektívne, čo je obzvlášť dôležité, keď nie je dostatok pamäte RAM alebo operačného výkonu (čo sa však stáva pomerne zriedka). Ale jeho štúdium a písanie programov na ňom si vyžaduje pomerne veľa úsilia, dochvíľnosti a času. Preto sa pre vývoj založený na mikrokontroléroch často používajú programovacie jazyky C a C++. Sú zrozumiteľnejšie svojim vzhľadom a štruktúrou sú blízke ľudskej reči, hoci ju nereprezentujú v plnom chápaní. Majú tiež veľmi dobre prepracovanú funkcionalitu, ktorá dokáže jednoducho interagovať s hardvérom, pričom si predstavujete, že ide len o programový prvok. Napriek všetkým ich zjavným výhodám sa v C a C++ vytvárajú objemnejšie programy ako v assembleri.

V niektorých prípadoch, keď je použitý operačný priestor kritický, je možné tieto jazyky kombinovať. Takmer všetky vývojové prostredia pre C a C++ majú možnosť inštalovať do programu vložky assembleru. Preto, ak sa vyskytne problém v kritickej oblasti, môžete napísať montážnu vložku a integrovať ju do firmvéru pre mikrokontrolér a samotný firmvér, alebo skôr väčšina z neho, môže byť napísaná v C alebo C++. Programovanie mikrokontrolérov v SI je jednoduchšie, a preto si veľa ľudí vyberá tieto jazyky. Ale tí, ktorí sa neboja ťažkostí a chcú pochopiť zvláštnosti fungovania zariadenia, si môžu vyskúšať jazyk montáže.

Slová na rozlúčku

Ak chcete experimentovať s veľkým. Môžeme vám len poradiť, aby ste boli trpezliví a vytrvalí, a potom sa všetky ciele stanovené pre vynálezcu ukážu ako realizovateľné. Programovanie mikrokontrolérov pre začiatočníkov a pre skúsených ľudí vyzerá inak: čo je pre začiatočníkov ťažké, pre skúsených je to rutina. Hlavná vec je mať na pamäti, že všetko, čo nie je v rozpore s fyzikálnymi zákonmi, je realizovateľné a riešiteľné.

    Nové nákupy Zobraziť viac Skryť

    10.07.2019: Žiť pozitívny život – odstránenie sebakritiky. Vitalita. Dôvera

    10.07.2019: Zárobky od 50 000 rubľov na pridružených programoch s 200% zárukou - VIP

    09.07.2019: Zárobky od 50 000 rubľov na pridružených programoch s 200% zárukou

    09.07.2019: Multidimenzionálna medicína. Samodiagnostika a samoliečba [Zatvorené]

    07/09/2019: Čistenie tyče

    09.07.2019: (Opakovať) Druh čistenia

    09.07.2019: Vysoké vibrácie. Pre ženy. ZATVORENÉ.

    09.07.2019: [Opakovať] Výkresy solárneho biovegetária s rozlohou 64 m2. (SBV-Mini)

    08.07.2019: 10-100-1000 PRESTUPOV ZA DEŇ Z YOUTUBE

    07.07.2019: Vyhnanie čiernych síl a uzdravenie tela

    06.07.2019:

    05.07.2019: Dlhodobý tréning mimozmyslového vnímania (Alexej Pokhabov)

    25.06.2019: Nekupujte jedy v krásnom balení (Elena Bakhtina)

    24.06.2019: Kurz výživy (V. Dadali)

    23.06.2019: Najlepší rok tvojho života (Elizaveta Babanova)

    22.06.2019: Numerológia ako povolanie. Sme z matrixu. Kniha 1

    06.06.2019:

    04.06.2019:

    30.05.2019: [Bábika] [Opakovať] Teddy-bábika

    28.05.2019: Multidimenzionálna medicína. Infarkt myokardu[Zatvorené]

    22.05.2019: Výkresy solárneho biovegetária s rozlohou 64 m2. (SBV-Mini)

    21.05.2019: Základný kurz tvorby plastových bábik

    20.05.2019: Stream art retuš

    20.05.2019:

    20.05.2019:

    20.05.2019: 2 milióny mesačne z predaja štúdia. (Andrey Sazonov)

    29.04.2019: Endokrinný systém - (relácie) [Nadezhda Kolesnikova]

    29.04.2019: Obnova obličiek a močového systému [Nadezhda Kolesnikova]

    19.04.2019:

    19.04.2019:

    19.04.2019: Nahý ovos, Pestrec mariánsky, Technológia dezinfekcie a klíčenia semien. (Frolov Yu.A)

    17.04.2019: [Opakovať] Licencia bez problémov

    17.04.2019: Lekcia spracovania fotografií (Maria Strutinskaya) 2019

    17.04.2019: Yu.A. Frolov - 4 na 4 od A po Z

    17.04.2019: Frolov Yu.A. Informačný produkt č.14 - Seminár - Prežitie v extrémnych situáciách, príprava, zásoby...

    12.04.2019: Super agent alebo celá Metóda Alexandra Sankina v 24 online lekciách

    05.04.2019: Ani deň bez linky (Vera Arsentyeva, Marina Pyatiletova)

    04.04.2019: Osobná značka a Instagram (Anna Roleva, Veronica Yurina)

    04.04.2019: Zapojenie hackerov [Lilia Nilova]

    02.04.2019: Rámec Bootstrap 4

    30.03.2019: Úpravy v Davinci Resolve: rýchly štart (Dmitrij Larionov)

    20.03.2019:

    20.03.2019:

    18.03.2019: Hlavná skupina: Jazykoveda

    18.03.2019: AVITO-BOOM - systém na automatické zarábanie peňazí na Avito od 3500 rubľov / deň! (Pisarevsky Alexander)

    18.03.2019:

    26.02.2019: Jeffrey Stevens - Víkendový workshop hypnózy

    14.02.2019:

    01.02.2019: Liečivý dotyk. Inštitút kineziológie (John Tee, Matthew Tee)

    27.01.2019: 3 knihy od Maxima Batereva "45 tetovaní osobnosti, manažéra, predaných..."

    22.01.2019: Webináre o SQUIRT

    18.01.2019:

    14.01.2019:

    09.01.2019:

    05.01.2019:

    26.12.2018:

    15.12.2018: Stop prechladnutiu: ako posilniť imunitu (Margarita Levchenko)

    15.12.2018: Zarábajte peniaze učením, ako zarobiť peniaze na stávkach (Artem Dosman)

    Hosť, vstúpili ste do klubu Reskladchik. Sme 10x lacnejší ako na Sklade. Teraz si nemôžete kúpiť produkt za 200 rubľov v sklade, ale od nás v Restocker len za 20 rubľov.

    Skryť reklamu
  1. Potrebujete organizátora Zobraziť viac Skryť

    06.07.2019: Open Real Estate - Ultimate verzia

    06.06.2019: Chcem BEAT! 2.1 + aktualizácie na 2.2 a 2.3

    04.06.2019: Balík dokumentov pre úspešné fungovanie detského centra

    20.05.2019: Videokurz na odstraňovanie jamiek z nástrojov Ultra Dent Tools s vlastným tempom v ruštine (3 DVD)

    20.05.2019: Video kurz pre samotréning odstraňovania preliačin z...

    19.04.2019: [opakovanie] 3bet poty. Leštenie našich vedomostí

    19.04.2019: poker. Deviaty balíček z freestylu

    17.04.2019: [Opakovať] Licencia bez problémov

    20.03.2019: Klub troch učiteľov - 38 kurzov a MK (Alexander Ivanitsky) (Alena Ryabchenko) (2016)

    20.03.2019: Internetový marketing pre kliniky – 16 kníh

    18.03.2019: [Opakovať] Dva kurzy podľa metodiky V. F. Shatalova pre základnú školu

    14.02.2019: Telový tréning (Natalia Ladini)

    22.01.2019: Webináre o SQUIRT

    18.01.2019: Pohodlná forma II

    14.01.2019: [Opakovať] Všetky tréningy a cvičenia Trainerskaya.RU

    09.01.2019: [Špecialista] M20345 - 1: Správa Exchange Server 2016

    05.01.2019: Centrum aplikovanej psychológie – Stanovenie cieľov

    26.12.2018: [Novinka] Príručky pre 1. ročník štúdia na Akadémii aplikovanej kineziológie Vasilyeva L.F.

    11.12.2018: [Špecialista] Profesionálny dizajn v CorelDRAW

    27.11.2018: Lekcie Wilcom EmbroideryStudio e1.5

    27.11.2018: Obmedzujúce presvedčenia

    07.11.2018: See More On... (Druhá, „slnečná“ časť programu Simoron)

    07.11.2018: Podnikanie ako aktívum (nákup hotového podniku bez investícií) Natalya Zakheim LiKPro

    07.11.2018: 2. stupeň ShK (nový)

    28.10.2018: [Technológia] Flexibilný kameň

    21.10.2018: Systém na prilákanie masívneho toku klientov do sektora stavebníctva a opráv IndexHunter

    21.10.2018: Alex Lesly všetky knihy

    16.10.2018: Vzdelávacie hračky šijeme vlastnými rukami

    16.10.2018: [Opakovať] Univerzálny kurz „Otváranie“ školy nápaditých riešení idea-class

    16.10.2018: Zdobenie obočia (Natalia Shik)

    26.09.2018: Kalkulačka nákladov na web. Rozšírenie Web Builder

    15.09.2018: Tajomstvo úspešnej komunikácie na dosiahnutie šťastného života (Julia Lanske)

    10.09.2018: Spolupráca – pre softvérových (PC) organizátorov

    10.09.2018: [Opakovať] Rozvíjanie prirodzených schopností dieťaťa za 10 minút denne

    03.09.2018: Aktivácia troch generálov CMDC

    25.08.2018: Somatypológia. Čítanie ľudí podľa typu postavy, identifikácia svojich silných stránok podľa typu postavy.

    25.08.2018: Sada 5 chodov za polovičnú cenu. R. Abdullin

    09.08.2018: Skript automatickej výmeny Premium Exchanger

    02.08.2018: Kurz transformácie tváre od Eleny Bakhtiny

    02.08.2018: Shamoyan - Učím sa milovať sám seba

    02.08.2018: Bonono šablóna

    27.07.2018: Archetypálny tarot

    24.07.2018: Veľmi žiadaný muž (Egor Sheremetyev)

    24.07.2018: Metaforické asociačné karty - Habitat deck

    21.07.2018: Maghrebská mágia

    10.07.2018: "Turbo Cash Flow od Kiyosaki - STANDARD"

    01.07.2018: Angličtina s prasiatkom a... (5 DVD)

    23.06.2018: 8500+ zdrojov pre Photoshop

    17.06.2018: Ľudia a bohovia (S. Savchenko)

    14.06.2018: Webová stránka na predaj hernej meny

    09.06.2018: Sme dospelí a naši rodičia

    27.05.2018: Kompletná séria majstrovských kurzov na šitie hračiek

    27.05.2018: Talpis a Moshinskaya: výcvik v práci s metaforickými asociatívnymi mapami

    16.05.2018: [Opakovať] Výnosný betón, biznis za 1000 dolárov

    13.05.2018: Sprievodca krok za krokom, ako si vyrobiť kuchyňu svojpomocne a podnikať v kuchyniach.

    02.05.2018: Základný školiaci kurz Darie Abakhtimovej „ZA VEDOMÍM“ 1.0

    27.04.2018: easyReservations Premium – možno najlepší rezervačný plugin

Kurz je určený predovšetkým tým ľuďom, ktorých zaujíma tematika elektroniky a najmä programovania mikrokontrolérov, ako aj tým, ktorí v tejto oblasti pracujú, no potrebujú sa zdokonaliť na úroveň pokročilých technológií.
Kurz je z veľkej časti určený pre študentov, ktorí sa v tejto téme ešte málo orientujú a chcú si všetko naštudovať dôsledne a podrobne. Ale profesionálni elektronickí inžinieri, ktorí zaostávajú za najnovším vývojom, môžu tiež nájsť množstvo informácií na zlepšenie svojich zručností.
Po úspešnom absolvovaní školenia bude študent vedieť písať programy na využitie väčšiny schopností moderných mikrokontrolérov. Dobrý základ vám navyše umožní rýchlo naštudovať ovládač úplne inej architektúry.

Priebeh školenia:

O kurze je podrobný materiál v textovej podobe, ktorý učiteľ odovzdá študentovi na ďalšiu prípravu a upevnenie získaných vedomostí.
Kurz "Programovanie mikrokontrolérov v C" obsahuje veľké množstvo príkladov. A počas školenia si ako domácu úlohu zostavíme obvody a naprogramujeme mikrokontrolér na ovládanie rôznych externých zariadení.
Mimochodom, študent sám môže navrhnúť, čo chce v budúcnosti realizovať a učiteľ prispôsobí priebeh štúdia tak, aby sa študent čo najviac priblížil k svojmu cieľu.

Preberané témy:

  1. Úvod do problematiky programovania mikrokontrolérov
  2. Generátory hodín
  3. I/O porty
  4. Prerušenia
  5. Časovače
  6. Modul zachytávania
  7. Modul porovnávania
  8. UART
  9. Práca s grafickým displejom

Podobných kurzov je takmer niekoľko a všetky sú v off-line formáte. S lektorom absolvujete individuálny tréning podľa autorského programu.
Vďaka on-line kurzom budete neustále dostávať spätnú väzbu od učiteľa, ktorý vám vysvetlí, poradí, ale aj odporučí na optimalizáciu programov a tipy na používanie elektronických súčiastok. V budúcnosti nie je vylúčená ani spoločná práca na reálnych projektoch v oblasti elektroniky.

Na začatie tohto kurzu musí študent poznať základné pojmy programovacieho jazyka C a vedieť ich aplikovať.
Ak študent nie je oboznámený s jazykom C, musíte najprv absolvovať kurz: „Základy programovania v jazyku C“ (môžete mať rovnakého učiteľa, ale v praxi je to ešte lepšie) a po úspešnom naučení základy, môžete začať študovať programovanie mikrokontrolérov.
Ak má študent znalosti jazyka C, tak si túto znalosť učiteľ určite preverí a ak je potrebné ďalej porozumieť niektorým témam, tak odporučí, ktoré témy je potrebné zopakovať.