+1 500 000 produktov v ponuke
6000 zásielok denne
+300 000 klientov zo 150 krajín
Program spustený na Arduine nemá zabudovanú funkciu "stop", ako je to v operačných systémoch. Je to preto, že Arduino beží v bare-metal režime, t. j. bez systémovej vrstvy, ktorá by spravovala životný cyklus programu. Na zastavenie jeho behu použite jednu z techník riadeného ukončenia hlavnej slučky alebo fyzického prerušenia napájania.
Každý skeč (t. j. užívateľský program) na Arduine je založený na dvoch základných funkciách: setup() a loop(). Funkcia setup() sa po spustení alebo resete vykoná len raz, zatiaľ čo funkcia loop() beží v nekonečnej slučke, až kým nedôjde k strate napájania. Neexistuje žiadna funkcia zodpovedná za ukončenie programu, pretože mikrokontrolér nepoužíva operačný systém na kontrolu stavov procesov. Z tohto dôvodu nie sú v kontexte Arduina použiteľné klasické prístupy známe z počítačov, t. j. ukončenie aplikácie alebo jej zastavenie pomocou tlačidla .
Najjednoduchším spôsobom zastavenia programu je vypnutie napájania, čím sa okamžite zastaví vykonávanie všetkých inštrukcií. To možno vykonať fyzicky odpojením kábla USB alebo vypnutím externého zdroja napájania (napr. batérie alebo adaptéra jednosmerného prúdu). Po opätovnom pripojení napájania mikrokontrolér automaticky začne vykonávať program od začiatku, od funkcie setup(). Alternatívnou metódou je nahrať prázdnu skicu, t. j. program obsahujúci iba funkcie setup() a loop() bez akejkoľvek vnútornej logiky. Takýto náčrt formálne funguje, ale v praxi nevykonáva žiadne operácie, čo z pohľadu používateľa možno považovať za zastavenie programu. V pokročilejších aplikáciách možno mikrokontrolér naprogramovať tak, aby vstúpil do nekonečnej pasívnej slučky, napr. while(true){} bez akýchkoľvek inštrukcií vo vnútri. Takýto kód spôsobí, že mikrokontrolér "uviazne" na jednom mieste, prestane reagovať na vstupy alebo generovať výstupy. Ďalším riešením je prevedenie mikrokontroléra do režimu spánku, ktorý zahŕňa deaktiváciu hlavných výpočtových blokov a prechod do stavu minimálneho vypnutia. V režime power-down čip zastaví všetky procesy, kým ho niekto zvonka neprebudí, napr. prostredníctvom hardvérového prerušenia. Režimy spánku sú užitočné najmä v konštrukciách napájaných z batérií, kde je dôležité znížiť spotrebu energie.
Je dôležité poznamenať, že každá z opísaných metód má svoje vlastné dôsledky. Odpojenie napájania okamžite preruší prácu, ale neumožní uložiť žiadne prechodné údaje. Nahrávanie prázdneho náčrtu alebo zastavenie programu v nekonečnej slučke nevypne čip - napájanie je stále aktívne a mikrokontrolér odoberá energiu. Režimy spánku si vyžadujú dodatočnú konfiguráciu a dôkladné premyslenie toho, ako a kedy sa má čip prebudiť. Program na Arduine sa nezastaví sám od seba, ale beží nepretržite od momentu spustenia až do vypnutia napájania. Aby ste ho zastavili, môžete použiť techniky, ako napríklad nahranie prázdneho náčrtu, vstup do nekonečnej slučky, použitie režimu spánku alebo jednoducho fyzické vypnutie napájania. Výber metódy závisí od kontextu projektu a očakávaných konečných výsledkov.
Resetovaním mikrokontroléra v Arduine sa program nezastaví - jednoducho sa reštartuje. To znamená, že funkcia setup() sa vykoná od začiatku a potom program okamžite prejde do funkcie loop(), kde opäť beží v nekonečnej slučke. Preto reset nie je metódou zastavenia programu, ale jeho "reštartovania".
Keď sa stlačí tlačidlo RESET (alebo sa na pin RESET privedie nízky logický stav), mikrokontrolér sa reštartuje, ako keby bol práve zapnutý. V praxi to znamená, že:
Zastavenie programu znamená trvalé alebo dočasné zastavenie jeho činnosti, napr. čakanie, kým nastane nejaká podmienka, alebo úplné vyhasnutie činnosti mikrokontroléra (ako v režime power-down). Na druhej strane reset znamená aktívne spustenie všetkého od začiatku, nie ukončenie činnosti. V skratke: Reset = opätovné spustenie programu Stop = pozastavenie alebo ukončenie programu
Transfer Multisort Elektronik (TME) je jedným z najväčších globálnych distribútorov elektronických komponentov, elektrotechnických častí, dielenského vybavenia a priemyselnej automatizácie. Katalóg obsahuje viac ako 1 500 000 produktov od 1 300 popredných výrobcov. Moderné logistické centrá TME v Lodži a Rzgówe (Poľsko) s celkovou rozlohou viac ako 40 000 m² denne odosielajú takmer 6 000 balíkov zákazníkom vo viac ako 150 krajinách.
TME tiež investuje do rozvoja vedomostí a zručností mladých inžinierov a nadšencov elektroniky prostredníctvom projektu TME Education a podporuje technologickú komunitu organizovaním série podujatí TechMasterEvent, ktoré podporujú inovácie a výmenu skúseností.